Commit 15139964 authored by Marko Mäkelä's avatar Marko Mäkelä

Merge 10.5 into 10.6

parents 54f79a0f 40b743f9
...@@ -545,7 +545,8 @@ FEATURE_SUMMARY(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES VAR MARIADB_FEATURE_ ...@@ -545,7 +545,8 @@ FEATURE_SUMMARY(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES VAR MARIADB_FEATURE_
OPTION(FEATURE_SUMMARY "Print feature summary at the end of configure step" ON) OPTION(FEATURE_SUMMARY "Print feature summary at the end of configure step" ON)
IF (FEATURE_SUMMARY) IF (FEATURE_SUMMARY)
MESSAGE_ONCE(SUMMARY "${MARIADB_FEATURE_SUMMARY}") MESSAGE("${MARIADB_FEATURE_SUMMARY}")
SET(FEATURE_SUMMARY OFF CACHE BOOL "" FORCE)
ENDIF() ENDIF()
IF(NON_DISTRIBUTABLE_WARNING) IF(NON_DISTRIBUTABLE_WARNING)
......
...@@ -84,9 +84,8 @@ MYSQL_ADD_EXECUTABLE(mariadb-conv mariadb-conv.cc ...@@ -84,9 +84,8 @@ MYSQL_ADD_EXECUTABLE(mariadb-conv mariadb-conv.cc
${CMAKE_SOURCE_DIR}/sql/sql_string.cc) ${CMAKE_SOURCE_DIR}/sql/sql_string.cc)
TARGET_LINK_LIBRARIES(mariadb-conv mysys strings) TARGET_LINK_LIBRARIES(mariadb-conv mysys strings)
# "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/".
IF(WIN32) IF(WIN32)
MYSQL_ADD_EXECUTABLE(echo echo.c COMPONENT Junk) MYSQL_ADD_EXECUTABLE(echo echo.c COMPONENT Test)
ENDIF(WIN32) ENDIF(WIN32)
# async_example is just a code example, do not install it. # async_example is just a code example, do not install it.
......
...@@ -34,7 +34,7 @@ static uint opt_no_defaults= 0; ...@@ -34,7 +34,7 @@ static uint opt_no_defaults= 0;
static uint opt_print_defaults= 0; static uint opt_print_defaults= 0;
static char *opt_datadir=0, *opt_basedir=0, static char *opt_datadir=0, *opt_basedir=0,
*opt_plugin_dir=0, *opt_plugin_ini=0, *opt_plugin_dir=0, *opt_plugin_ini=0,
*opt_mysqld=0, *opt_my_print_defaults=0; *opt_mysqld=0, *opt_my_print_defaults=0, *opt_lc_messages_dir;
static char bootstrap[FN_REFLEN]; static char bootstrap[FN_REFLEN];
...@@ -70,6 +70,8 @@ static struct my_option my_long_options[] = ...@@ -70,6 +70,8 @@ static struct my_option my_long_options[] =
{"my-print-defaults", 'f', "Path to my_print_defaults executable. " {"my-print-defaults", 'f', "Path to my_print_defaults executable. "
"Example: /source/temp11/extra", "Example: /source/temp11/extra",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"lc-messages-dir", 'l', "The error messages dir for the server. ",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"verbose", 'v', {"verbose", 'v',
"More verbose output; you can use this multiple times to get even more " "More verbose output; you can use this multiple times to get even more "
"verbose output.", "verbose output.",
...@@ -305,6 +307,7 @@ static char *add_quotes(const char *path) ...@@ -305,6 +307,7 @@ static char *add_quotes(const char *path)
--basedir --basedir
--plugin-dir --plugin-dir
--plugin-ini --plugin-ini
--lc-messages-dir
These values are used if the user has not specified a value. These values are used if the user has not specified a value.
...@@ -382,14 +385,20 @@ static int get_default_values() ...@@ -382,14 +385,20 @@ static int get_default_values()
{ {
opt_basedir= my_strdup(PSI_NOT_INSTRUMENTED, value, MYF(MY_FAE)); opt_basedir= my_strdup(PSI_NOT_INSTRUMENTED, value, MYF(MY_FAE));
} }
if ((opt_plugin_dir == 0) && ((value= get_value(line, "--plugin_dir")))) if ((opt_plugin_dir == 0) && ((value= get_value(line, "--plugin_dir")) ||
(value= get_value(line, "--plugin-dir"))))
{ {
opt_plugin_dir= my_strdup(PSI_NOT_INSTRUMENTED, value, MYF(MY_FAE)); opt_plugin_dir= my_strdup(PSI_NOT_INSTRUMENTED, value, MYF(MY_FAE));
} }
if ((opt_plugin_ini == 0) && ((value= get_value(line, "--plugin_ini")))) if ((opt_lc_messages_dir == 0) &&
((value= get_value(line, "--lc_messages_dir")) ||
(value= get_value(line, "--lc_messages-dir")) ||
(value= get_value(line, "--lc-messages_dir")) ||
(value= get_value(line, "--lc-messages-dir"))))
{ {
opt_plugin_ini= my_strdup(PSI_NOT_INSTRUMENTED, value, MYF(MY_FAE)); opt_lc_messages_dir= my_strdup(PSI_NOT_INSTRUMENTED, value, MYF(MY_FAE));
} }
} }
} }
exit: exit:
...@@ -429,6 +438,7 @@ static void usage(void) ...@@ -429,6 +438,7 @@ static void usage(void)
--basedir --basedir
--plugin-dir --plugin-dir
--plugin-ini --plugin-ini
--lc-messages-dir
*/ */
...@@ -461,6 +471,10 @@ static void print_default_values(void) ...@@ -461,6 +471,10 @@ static void print_default_values(void)
{ {
printf("--my_print_defaults=%s ", opt_my_print_defaults); printf("--my_print_defaults=%s ", opt_my_print_defaults);
} }
if (opt_lc_messages_dir)
{
printf("--lc_messages_dir=%s ", opt_lc_messages_dir);
}
printf("\n"); printf("\n");
} }
...@@ -515,6 +529,10 @@ get_one_option(const struct my_option *opt, ...@@ -515,6 +529,10 @@ get_one_option(const struct my_option *opt,
case 'f': case 'f':
opt_my_print_defaults= my_strdup(PSI_NOT_INSTRUMENTED, argument, MYF(MY_FAE)); opt_my_print_defaults= my_strdup(PSI_NOT_INSTRUMENTED, argument, MYF(MY_FAE));
break; break;
case 'l':
opt_lc_messages_dir= my_strdup(PSI_NOT_INSTRUMENTED, argument, MYF(MY_FAE));
break;
} }
return 0; return 0;
} }
...@@ -900,6 +918,8 @@ static int process_options(int argc, char *argv[], char *operation) ...@@ -900,6 +918,8 @@ static int process_options(int argc, char *argv[], char *operation)
printf("# plugin_dir = %s\n", opt_plugin_dir); printf("# plugin_dir = %s\n", opt_plugin_dir);
printf("# datadir = %s\n", opt_datadir); printf("# datadir = %s\n", opt_datadir);
printf("# plugin_ini = %s\n", opt_plugin_ini); printf("# plugin_ini = %s\n", opt_plugin_ini);
if (opt_lc_messages_dir != 0)
printf("# lc_messages_dir = %s\n", opt_lc_messages_dir);
} }
exit: exit:
...@@ -957,6 +977,12 @@ static int check_access() ...@@ -957,6 +977,12 @@ static int check_access()
opt_my_print_defaults); opt_my_print_defaults);
goto exit; goto exit;
} }
if (opt_lc_messages_dir && (error= my_access(opt_lc_messages_dir, F_OK)))
{
fprintf(stderr, "ERROR: Cannot access lc-messages-dir path '%s'.\n",
opt_lc_messages_dir);
goto exit;
}
exit: exit:
return error; return error;
...@@ -1186,18 +1212,33 @@ static int bootstrap_server(char *server_path, char *bootstrap_file) ...@@ -1186,18 +1212,33 @@ static int bootstrap_server(char *server_path, char *bootstrap_file)
verbose_str= ""; verbose_str= "";
if (has_spaces(opt_datadir) || has_spaces(opt_basedir) || if (has_spaces(opt_datadir) || has_spaces(opt_basedir) ||
has_spaces(bootstrap_file)) has_spaces(bootstrap_file))
format_str= "\"%s %s --bootstrap --datadir=%s --basedir=%s < %s\""; {
else if (opt_lc_messages_dir != NULL)
format_str= "%s %s --bootstrap --datadir=%s --basedir=%s < %s"; format_str= "\"%s %s --bootstrap --datadir=%s --basedir=%s --lc-messages-dir=%s <%s\"";
else
format_str= "\"%s %s --bootstrap --datadir=%s --basedir=%s <%s\"";
}
else
{
if (opt_lc_messages_dir != NULL)
format_str= "\"%s %s --bootstrap --datadir=%s --basedir=%s --lc-messages-dir=%s <%s\"";
else
format_str= "%s %s --bootstrap --datadir=%s --basedir=%s <%s";
}
snprintf(bootstrap_cmd, sizeof(bootstrap_cmd), format_str, snprintf(bootstrap_cmd, sizeof(bootstrap_cmd), format_str,
add_quotes(convert_path(server_path)), verbose_str, add_quotes(convert_path(server_path)), verbose_str,
add_quotes(opt_datadir), add_quotes(opt_basedir), add_quotes(opt_datadir), add_quotes(opt_basedir),
add_quotes(bootstrap_file)); add_quotes(bootstrap_file));
#else #else
snprintf(bootstrap_cmd, sizeof(bootstrap_cmd), if (opt_lc_messages_dir != NULL)
"%s --no-defaults --bootstrap --datadir=%s --basedir=%s" snprintf(bootstrap_cmd, sizeof(bootstrap_cmd),
" < %s", server_path, opt_datadir, opt_basedir, bootstrap_file); "%s --no-defaults --bootstrap --datadir=%s --basedir=%s --lc-messages-dir=%s"
" <%s", server_path, opt_datadir, opt_basedir, opt_lc_messages_dir, bootstrap_file);
else
snprintf(bootstrap_cmd, sizeof(bootstrap_cmd),
"%s --no-defaults --bootstrap --datadir=%s --basedir=%s"
" <%s", server_path, opt_datadir, opt_basedir, bootstrap_file);
#endif #endif
/* Execute the command */ /* Execute the command */
......
...@@ -107,6 +107,16 @@ ELSEIF(RPM) ...@@ -107,6 +107,16 @@ ELSEIF(RPM)
SET(WITH_EMBEDDED_SERVER ON CACHE BOOL "") SET(WITH_EMBEDDED_SERVER ON CACHE BOOL "")
# not yet, SLES 12.3 doesn't provide pcre2 # not yet, SLES 12.3 doesn't provide pcre2
#SET(WITH_PCRE system CACHE STRING "") #SET(WITH_PCRE system CACHE STRING "")
IF(RPM MATCHES "fedora|centos|rhel")
SET(WITH_INNODB_BZIP2 OFF CACHE STRING "")
SET(WITH_INNODB_LZO OFF CACHE STRING "")
SET(WITH_ROCKSDB_BZip2 OFF CACHE STRING "")
ENDIF()
IF(RPM MATCHES "opensuse|sles|centos|rhel")
SET(WITH_INNODB_LZ4 OFF CACHE STRING "")
SET(WITH_ROCKSDB_LZ4 OFF CACHE STRING "")
SET(GRN_WITH_LZ4 no CACHE STRING "")
ENDIF()
ELSEIF(DEB) ELSEIF(DEB)
SET(WITH_SSL system CACHE STRING "") SET(WITH_SSL system CACHE STRING "")
SET(WITH_ZLIB system CACHE STRING "") SET(WITH_ZLIB system CACHE STRING "")
...@@ -115,6 +125,10 @@ ELSEIF(DEB) ...@@ -115,6 +125,10 @@ ELSEIF(DEB)
SET(PLUGIN_AUTH_SOCKET YES CACHE STRING "") SET(PLUGIN_AUTH_SOCKET YES CACHE STRING "")
SET(WITH_EMBEDDED_SERVER ON CACHE BOOL "") SET(WITH_EMBEDDED_SERVER ON CACHE BOOL "")
SET(WITH_PCRE system CACHE STRING "") SET(WITH_PCRE system CACHE STRING "")
SET(WITH_INNODB_BZIP2 OFF CACHE STRING "")
SET(WITH_INNODB_LZMA OFF CACHE STRING "")
SET(WITH_INNODB_LZO OFF CACHE STRING "")
SET(WITH_ROCKSDB_BZip2 OFF CACHE STRING "")
ELSE() ELSE()
SET(WITH_SSL bundled CACHE STRING "") SET(WITH_SSL bundled CACHE STRING "")
SET(WITH_PCRE bundled CACHE STRING "") SET(WITH_PCRE bundled CACHE STRING "")
...@@ -123,6 +137,12 @@ ELSE() ...@@ -123,6 +137,12 @@ ELSE()
SET(PLUGIN_AUTH_SOCKET STATIC CACHE STRING "") SET(PLUGIN_AUTH_SOCKET STATIC CACHE STRING "")
SET(WITH_STRIPPED_CLIENT ON CACHE BOOL "Strip all client binaries") SET(WITH_STRIPPED_CLIENT ON CACHE BOOL "Strip all client binaries")
SET(WITH_PCRE bundled CACHE STRING "") SET(WITH_PCRE bundled CACHE STRING "")
SET(WITH_INNODB_BZIP2 OFF CACHE STRING "")
SET(WITH_INNODB_LZ4 OFF CACHE STRING "")
SET(WITH_INNODB_LZO OFF CACHE STRING "")
SET(WITH_ROCKSDB_BZip2 OFF CACHE STRING "")
SET(WITH_ROCKSDB_LZ4 OFF CACHE STRING "")
SET(GRN_WITH_LZ4 no CACHE STRING "")
ENDIF() ENDIF()
IF(NOT COMPILATION_COMMENT) IF(NOT COMPILATION_COMMENT)
......
...@@ -199,6 +199,8 @@ datadir_iter_new(const char *path, bool skip_first_level = true) ...@@ -199,6 +199,8 @@ datadir_iter_new(const char *path, bool skip_first_level = true)
datadir_iter_t *it; datadir_iter_t *it;
it = static_cast<datadir_iter_t *>(malloc(sizeof(datadir_iter_t))); it = static_cast<datadir_iter_t *>(malloc(sizeof(datadir_iter_t)));
if (!it)
goto error;
memset(it, 0, sizeof(datadir_iter_t)); memset(it, 0, sizeof(datadir_iter_t));
pthread_mutex_init(&it->mutex, NULL); pthread_mutex_init(&it->mutex, NULL);
......
drop table if exists t1, t2;
create table t1 (a integer, b integer,c1 CHAR(10)); create table t1 (a integer, b integer,c1 CHAR(10));
insert into t1 (a) values (1),(2); insert into t1 (a) values (1),(2);
truncate table t1; truncate table t1;
...@@ -158,4 +157,6 @@ TRUNCATE t1; ...@@ -158,4 +157,6 @@ TRUNCATE t1;
HANDLER t1 READ FIRST; HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER ERROR 42S02: Unknown table 't1' in HANDLER
DROP TABLE t1; DROP TABLE t1;
# End of 6.0 tests #
# End of 5.5 tests
#
# #
# Test of truncate # Test of truncate
# #
--disable_warnings
drop table if exists t1, t2;
--enable_warnings
create table t1 (a integer, b integer,c1 CHAR(10)); create table t1 (a integer, b integer,c1 CHAR(10));
insert into t1 (a) values (1),(2); insert into t1 (a) values (1),(2);
...@@ -161,5 +158,6 @@ HANDLER t1 READ FIRST; ...@@ -161,5 +158,6 @@ HANDLER t1 READ FIRST;
# Cleanup # Cleanup
DROP TABLE t1; DROP TABLE t1;
--echo # End of 6.0 tests --echo #
--echo # End of 5.5 tests
--echo #
#
# MDEV-23365: Assertion `!is_set() || (m_status == DA_OK_BULK &&
# is_bulk_op())' failed upon killed TRUNCATE
#
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
LOCK TABLE t1 READ;
connect con1,localhost,root,,test;
SET SESSION max_session_mem_used= 65536;
LOCK TABLE t1 WRITE;
connection default;
SELECT * FROM t1;
a
UNLOCK TABLES;
connection con1;
TRUNCATE TABLE t1;
ERROR HY000: The MariaDB server is running with the --max-thread-mem-used=65536 option so it cannot execute this statement
disconnect con1;
connection default;
DROP TABLE t1;
#
# End of 10.2 tests
#
--source include/not_embedded.inc
--echo #
--echo # MDEV-23365: Assertion `!is_set() || (m_status == DA_OK_BULK &&
--echo # is_bulk_op())' failed upon killed TRUNCATE
--echo #
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
LOCK TABLE t1 READ;
--connect (con1,localhost,root,,test)
SET SESSION max_session_mem_used= 65536;
--send
LOCK TABLE t1 WRITE;
--connection default
SELECT * FROM t1;
UNLOCK TABLES;
--connection con1
--reap
--error ER_OPTION_PREVENTS_STATEMENT
TRUNCATE TABLE t1;
--disconnect con1
--connection default
DROP TABLE t1;
--echo #
--echo # End of 10.2 tests
--echo #
...@@ -54,7 +54,7 @@ SELECT * FROM t1; ...@@ -54,7 +54,7 @@ SELECT * FROM t1;
DROP TABLE t1; DROP TABLE t1;
FLUSH LOGS; FLUSH LOGS;
let $MYSQLD_DATADIR= `select @@datadir`; let $MYSQLD_DATADIR= `select @@datadir`;
--replace_regex /TIMESTAMP=[0-9]*/TIMESTAMP=XXX/ /# at [0-9]*/# at #/ /(exec_time=|end_log_pos |Xid = |thread_id=|server id |table id |mapped to number )[0-9]+/\1#/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /GTID [0-9]+-[0-9]+-[0-9]+/GTID #-#-#/ /Gtid list [[][0-9]+-[0-9]+-[0-9]+[\]]/Gtid list [#-#-#]/ /session[.](gtid_domain_id|server_id|gtid_seq_no)=[0-9]+/session.\1=#/ /(^#|created )[0-9]{6} [ 1][0-9]:[0-9]{2}:[0-9]{2}/\1YYMMDD HH:MM:SS/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/ --replace_regex /TIMESTAMP=[0-9]*/TIMESTAMP=XXX/ /# at [0-9]*/# at #/ /(exec_time=|end_log_pos |Xid = |thread_id=|server id |table id |mapped to number )[0-9]+/\1#/ /server v [^ ]*/server v #.##.##/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /GTID [0-9]+-[0-9]+-[0-9]+/GTID #-#-#/ /Gtid list [[][0-9]+-[0-9]+-[0-9]+[\]]/Gtid list [#-#-#]/ /session[.](gtid_domain_id|server_id|gtid_seq_no)=[0-9]+/session.\1=#/ /(^#|created )[0-9]{6} [ 12][0-9]:[0-9]{2}:[0-9]{2}/\1YYMMDD HH:MM:SS/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
--exec $MYSQL_BINLOG --base64-output=decode-rows -vv $MYSQLD_DATADIR/master-bin.000003 --exec $MYSQL_BINLOG --base64-output=decode-rows -vv $MYSQLD_DATADIR/master-bin.000003
SET TIMESTAMP=DEFAULT; SET TIMESTAMP=DEFAULT;
......
connection node_2;
connection node_1;
create table p (i varchar(100) primary key, j int) ENGINE=InnoDB DEFAULT CHARSET=utf8;
create table c1 (i int primary key auto_increment, j varchar(100), k int, key(j), constraint fk1 foreign key (j) references p(i)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
create table c2 (i int primary key auto_increment, j varchar(100), k int, key(j), constraint fk2 foreign key (j) references p(i)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into p values('sippo',1);
insert into c1 values(1,'sippo',1);
insert into c2 values(1,'sippo',1);
update c1 set k = 100 where j = 'sippo';
insert into c1 values(2,'sippo',1);
select * from p;
i j
sippo 1
select * from c1;
i j k
1 sippo 100
2 sippo 1
select * from c2;
i j k
1 sippo 1
connection node_2;
select * from p;
i j
sippo 1
select * from c1;
i j k
1 sippo 100
2 sippo 1
select * from c2;
i j k
1 sippo 1
connection node_1;
drop table c1;
drop table c2;
drop table p;
...@@ -64,3 +64,31 @@ COUNT(*) ...@@ -64,3 +64,31 @@ COUNT(*)
1 1
connection node_1; connection node_1;
DROP TABLE t; DROP TABLE t;
connection node_1;
SET @value=REPEAT (1,5001);
CREATE TABLE t (a VARCHAR(5000),FULLTEXT (a)) engine=innodb DEFAULT CHARSET=utf8;
INSERT IGNORE INTO t VALUES(@value);
Warnings:
Warning 1265 Data truncated for column 'a' at row 1
SELECT COUNT(*) FROM t;
COUNT(*)
1
connection node_2;
SELECT COUNT(*) FROM t;
COUNT(*)
1
connection node_1;
DROP TABLE t;
CREATE TABLE t (a VARCHAR(5000)) engine=innodb DEFAULT CHARSET=utf8;
INSERT IGNORE INTO t VALUES(@value);
Warnings:
Warning 1265 Data truncated for column 'a' at row 1
SELECT COUNT(*) FROM t;
COUNT(*)
1
connection node_2;
SELECT COUNT(*) FROM t;
COUNT(*)
1
connection node_1;
DROP TABLE t;
...@@ -19,12 +19,17 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB; ...@@ -19,12 +19,17 @@ CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
FLUSH TABLE t1 WITH READ LOCK; FLUSH TABLE t1 WITH READ LOCK;
--connection node_2 --connection node_2
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1'
--source include/wait_condition.inc
ALTER TABLE t1 ADD COLUMN f2 INTEGER; ALTER TABLE t1 ADD COLUMN f2 INTEGER;
--connection node_1 --connection node_1
SELECT 1 FROM DUAL; SELECT 1 FROM DUAL;
# Sleep for longer than the global timeout ... # Wait
--sleep 6 --let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock';
--source include/wait_condition.inc
SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock'; SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'Waiting for table metadata lock';
UNLOCK TABLES; UNLOCK TABLES;
......
...@@ -93,7 +93,6 @@ SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached"; ...@@ -93,7 +93,6 @@ SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
--connection node_1 --connection node_1
# issue conflicting write to child table, it should fail in certification # issue conflicting write to child table, it should fail in certification
--error ER_LOCK_DEADLOCK
--send update child set j=2; --send update child set j=2;
--connection node_1a --connection node_1a
...@@ -103,6 +102,7 @@ SET GLOBAL debug_dbug = ""; ...@@ -103,6 +102,7 @@ SET GLOBAL debug_dbug = "";
SET DEBUG_SYNC = "RESET"; SET DEBUG_SYNC = "RESET";
--connection node_1 --connection node_1
--error 0,ER_LOCK_DEADLOCK, ER_LOCK_WAIT_TIMEOUT
--reap --reap
--let $wait_condition = SELECT COUNT(*) = 0 FROM parent; --let $wait_condition = SELECT COUNT(*) = 0 FROM parent;
--source include/wait_condition.inc --source include/wait_condition.inc
......
--source include/galera_cluster.inc
create table p (i varchar(100) primary key, j int) ENGINE=InnoDB DEFAULT CHARSET=utf8;
create table c1 (i int primary key auto_increment, j varchar(100), k int, key(j), constraint fk1 foreign key (j) references p(i)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
create table c2 (i int primary key auto_increment, j varchar(100), k int, key(j), constraint fk2 foreign key (j) references p(i)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into p values('sippo',1);
insert into c1 values(1,'sippo',1);
insert into c2 values(1,'sippo',1);
update c1 set k = 100 where j = 'sippo';
insert into c1 values(2,'sippo',1);
select * from p;
select * from c1;
select * from c2;
--connection node_2
select * from p;
select * from c1;
select * from c2;
--connection node_1
drop table c1;
drop table c2;
drop table p;
...@@ -83,3 +83,27 @@ SELECT COUNT(*) FROM t; ...@@ -83,3 +83,27 @@ SELECT COUNT(*) FROM t;
--connection node_1 --connection node_1
DROP TABLE t; DROP TABLE t;
#
# Case 2: UTF-8
#
--connection node_1
SET @value=REPEAT (1,5001);
CREATE TABLE t (a VARCHAR(5000),FULLTEXT (a)) engine=innodb DEFAULT CHARSET=utf8;
INSERT IGNORE INTO t VALUES(@value);
SELECT COUNT(*) FROM t;
--connection node_2
SELECT COUNT(*) FROM t;
--connection node_1
DROP TABLE t;
CREATE TABLE t (a VARCHAR(5000)) engine=innodb DEFAULT CHARSET=utf8;
INSERT IGNORE INTO t VALUES(@value);
SELECT COUNT(*) FROM t;
--connection node_2
SELECT COUNT(*) FROM t;
--connection node_1
DROP TABLE t;
...@@ -24,20 +24,20 @@ wsrep_cluster_members CREATE TABLE `wsrep_cluster_members` ( ...@@ -24,20 +24,20 @@ wsrep_cluster_members CREATE TABLE `wsrep_cluster_members` (
`node_incoming_address` varchar(256) NOT NULL, `node_incoming_address` varchar(256) NOT NULL,
PRIMARY KEY (`node_uuid`) PRIMARY KEY (`node_uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster; SELECT COUNT(*) AS EXPECT_1 FROM mysql.wsrep_cluster;
COUNT(*) = 1 EXPECT_1
1 1
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster; SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster;
cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid')
1 1
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; SELECT COUNT(*) AS EXPECT_3 FROM mysql.wsrep_cluster_members;
COUNT(*) = 3 EXPECT_3
1 3
SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_members; SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_members;
COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size')
1 1
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid'); SELECT COUNT(*) AS EXPECT_1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid');
COUNT(*) = 1 EXPECT_1
1 1
SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_members; SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_members;
node_incoming_address LIKE '127.0.0.1:%' node_incoming_address LIKE '127.0.0.1:%'
...@@ -49,34 +49,28 @@ cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHER ...@@ -49,34 +49,28 @@ cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHER
1 1
1 1
1 1
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid');
COUNT(*) = 1
1
connection node_2; connection node_2;
SELECT COUNT(*) AS EXPECT_3 FROM mysql.wsrep_cluster_members;
EXPECT_3
3
connection node_1; connection node_1;
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster; SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster;
cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid')
1 1
SELECT COUNT(*) = 2 FROM mysql.wsrep_cluster_members; SELECT COUNT(*) AS EXPECT_2 FROM mysql.wsrep_cluster_members;
COUNT(*) = 2 EXPECT_2
1 2
connection node_2; connection node_2;
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster; SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster;
cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid')
1 1
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; SELECT COUNT(*) AS EXPECT_3 FROM mysql.wsrep_cluster_members;
COUNT(*) = 3 EXPECT_3
1 3
connection node_1; connection node_1;
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster; SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster;
cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid')
1 1
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; SELECT COUNT(*) AS EXPECT_3 FROM mysql.wsrep_cluster_members;
COUNT(*) = 3 EXPECT_3
1 3
connection node_1;
CALL mtr.add_suppression("SYNC message from member");
connection node_2;
CALL mtr.add_suppression("SYNC message from member");
connection node_3;
CALL mtr.add_suppression("SYNC message from member");
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
# #
--source include/galera_cluster.inc --source include/galera_cluster.inc
--source include/have_innodb.inc
--connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3 --connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
--connection node_1 --connection node_1
...@@ -20,65 +19,58 @@ ...@@ -20,65 +19,58 @@
SHOW CREATE TABLE mysql.wsrep_cluster; SHOW CREATE TABLE mysql.wsrep_cluster;
SHOW CREATE TABLE mysql.wsrep_cluster_members; SHOW CREATE TABLE mysql.wsrep_cluster_members;
#disabled SHOW CREATE TABLE mysql.wsrep_member_history;
# Checks for the wsrep_cluster table # Checks for the wsrep_cluster table
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster; SELECT COUNT(*) AS EXPECT_1 FROM mysql.wsrep_cluster;
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster; SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster;
# Checks for the wsrep_cluster_members table # Checks for the wsrep_cluster_members table
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; SELECT COUNT(*) AS EXPECT_3 FROM mysql.wsrep_cluster_members;
SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_members; SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_members;
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid');
SELECT COUNT(*) AS EXPECT_1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid');
SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_members; SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_members;
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster_members; SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster_members;
# Checks for the wsrep_cluster_member_history table --connection node_2
#disabled SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_member_history; --let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
#disabled SELECT COUNT(*) = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size') FROM mysql.wsrep_cluster_member_history; --source include/wait_condition.inc
SELECT COUNT(*) = 1 FROM mysql.wsrep_cluster_members WHERE node_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_gcomm_uuid');
#disabled SELECT last_view_id = (SELECT view_id FROM mysql.wsrep_cluster) FROM mysql.wsrep_cluster_member_history; SELECT COUNT(*) AS EXPECT_3 FROM mysql.wsrep_cluster_members;
#disabled SELECT last_view_seqno = (SELECT view_seqno FROM mysql.wsrep_cluster) FROM mysql.wsrep_cluster_member_history;
#disabled SELECT node_incoming_address LIKE '127.0.0.1:%' from mysql.wsrep_cluster_member_history;
#disabled SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster_member_history;
--connection node_2
--source include/shutdown_mysqld.inc --source include/shutdown_mysqld.inc
--connection node_1 --connection node_1
--source include/wait_until_connected_again.inc
--let $wait_condition = SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
--source include/wait_condition.inc
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster; SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster;
SELECT COUNT(*) = 2 FROM mysql.wsrep_cluster_members;
#disabled SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_member_history; SELECT COUNT(*) AS EXPECT_2 FROM mysql.wsrep_cluster_members;
#disabled SELECT COUNT(*) = 2 FROM mysql.wsrep_cluster_member_history WHERE last_view_id = (SELECT MAX(last_view_id) FROM mysql.wsrep_cluster_member_history);
--connection node_2 --connection node_2
let $restart_noprint=2; let $restart_noprint=2;
--source include/start_mysqld.inc --source include/start_mysqld.inc
--source include/wait_until_connected_again.inc --source include/wait_until_connected_again.inc
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster; --let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members; --source include/wait_condition.inc
#disabled SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_member_history WHERE last_view_id = (SELECT MAX(last_view_id) FROM mysql.wsrep_cluster_member_history);
--connection node_1
SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster; SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster;
SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_members;
#disabled SELECT COUNT(*) = 3 FROM mysql.wsrep_cluster_member_history WHERE last_view_id = (SELECT MAX(last_view_id) FROM mysql.wsrep_cluster_member_history);
--source ../galera/include/auto_increment_offset_restore.inc SELECT COUNT(*) AS EXPECT_3 FROM mysql.wsrep_cluster_members;
--connection node_1 --connection node_1
CALL mtr.add_suppression("SYNC message from member"); SELECT cluster_uuid = (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_state_uuid') FROM mysql.wsrep_cluster;
--connection node_2 SELECT COUNT(*) AS EXPECT_3 FROM mysql.wsrep_cluster_members;
CALL mtr.add_suppression("SYNC message from member");
--connection node_3 --source ../galera/include/auto_increment_offset_restore.inc
CALL mtr.add_suppression("SYNC message from member");
connection node_2;
connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
connection node_1;
SET SESSION wsrep_trx_fragment_size = 1;
START TRANSACTION;
SET debug_sync = "ha_write_row_end SIGNAL write_row_end WAIT_FOR write_row_continue";
INSERT INTO t1 VALUES (1);;
connect node_ctrl, 127.0.0.1, root, , test, $NODE_MYPORT_1;
connection node_ctrl;
SET debug_sync = "now WAIT_FOR write_row_end";
SET GLOBAL debug_dbug = '+d,wsrep_streaming_rollback';
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
connection node_1a;
TRUNCATE TABLE t1;;
connection node_ctrl;
SET SESSION debug_sync = "now WAIT_FOR wsrep_streaming_rollback_reached";
SET SESSION wsrep_sync_wait = 0;
SET debug_sync = "now SIGNAL write_row_continue";
SET SESSION debug_sync = "now SIGNAL wsrep_streaming_rollback_continue";
connection node_1a;
connection node_1;
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
connection node_ctrl;
SET GLOBAL debug_dbug = "";
SET DEBUG_SYNC = 'RESET';
DROP TABLE t1;
# Set thread-handling as a workaround to avoid MDEV-26528.
# The file can be removed once fixed.
!include ../galera_2nodes.cnf
[mysqld.1]
thread-handling=pool-of-threads
#
# MDEV-25718 Assertion `transaction.is_streaming()' failed in
# void wsrep::transaction::adopt()
#
--source include/galera_cluster.inc
--source include/have_debug_sync.inc
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
#
# Start a SR transaction and block it after it has replicated
# a fragment. Notice the transaction is still in executing state.
#
--connection node_1
SET SESSION wsrep_trx_fragment_size = 1;
START TRANSACTION;
SET debug_sync = "ha_write_row_end SIGNAL write_row_end WAIT_FOR write_row_continue";
--send INSERT INTO t1 VALUES (1);
--connect node_ctrl, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_ctrl
SET debug_sync = "now WAIT_FOR write_row_end";
SET GLOBAL debug_dbug = '+d,wsrep_streaming_rollback';
#
# Issue a conflicting DDL, that will block in streaming_rollback
# sync point.
#
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
--connection node_1a
--send TRUNCATE TABLE t1;
--connection node_ctrl
SET SESSION debug_sync = "now WAIT_FOR wsrep_streaming_rollback_reached";
#
# Let the INSERT continue. If bug is present will be able to go through
# before_rollback() / streaming_rollback() and clear its streaming context,
# which causes the assertion to trigger in BF aborter.
#
SET SESSION wsrep_sync_wait = 0;
SET debug_sync = "now SIGNAL write_row_continue";
# Let's give the INSERT some time, to make sure it does rollback
--let $wait_condition = SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE INFO = "INSERT INTO t1 VALUES (1)" AND STATE = "Freeing items";
--source include/wait_condition.inc
# Resume the DDL in streaming_rollback
SET SESSION debug_sync = "now SIGNAL wsrep_streaming_rollback_continue";
--connection node_1a
--reap
--connection node_1
--error ER_LOCK_DEADLOCK
--reap
# Cleanup
--connection node_ctrl
SET GLOBAL debug_dbug = "";
SET DEBUG_SYNC = 'RESET';
DROP TABLE t1;
...@@ -17,6 +17,8 @@ SET lock_wait_timeout=0; ...@@ -17,6 +17,8 @@ SET lock_wait_timeout=0;
SET innodb_lock_wait_timeout=0; SET innodb_lock_wait_timeout=0;
ALTER TABLE t1 PARTITION BY HASH(pk); ALTER TABLE t1 PARTITION BY HASH(pk);
ERROR HY000: Lock wait timeout exceeded; try restarting transaction ERROR HY000: Lock wait timeout exceeded; try restarting transaction
SET lock_wait_timeout=@save_timeout;
SET innodb_lock_wait_timeout=@save_innodb_timeout;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
......
...@@ -2043,3 +2043,36 @@ constraint a foreign key (id) references t1 (id) ...@@ -2043,3 +2043,36 @@ constraint a foreign key (id) references t1 (id)
alter table t1 change id id2 int; alter table t1 change id id2 int;
drop table t2; drop table t2;
drop table t1; drop table t1;
#
# MDEV-25951 MariaDB crash after ALTER TABLE convert to utf8mb4
#
CREATE TABLE t1 (id INT PRIMARY KEY, a VARCHAR(32), KEY (a(7))) ENGINE=INNODB DEFAULT CHARSET=UTF8;
INSERT INTO t1 VALUES (1, 'a1'), (2, 'a1');
ALTER TABLE t1
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci,
ADD UNIQUE INDEX test_key (a);
ERROR 23000: Duplicate entry 'a1' for key 'test_key'
ALTER TABLE t1 CONVERT TO CHARACTER SET UTF8MB4 COLLATE UTF8MB4_UNICODE_520_CI;
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
SELECT * FROM t1;
id a
1 a1
2 a1
DROP TABLE t1;
CREATE TABLE t1 (id INT PRIMARY KEY, a CHAR(32), KEY (a(7))) ENGINE=INNODB DEFAULT CHARSET=UTF8;
INSERT INTO t1 VALUES (1, 'a1'), (2, 'a1');
ALTER TABLE t1
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci,
ADD UNIQUE INDEX test_key (a);
ERROR 23000: Duplicate entry 'a1' for key 'test_key'
ALTER TABLE t1 CONVERT TO CHARACTER SET UTF8MB4 COLLATE UTF8MB4_UNICODE_520_CI;
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
SELECT * FROM t1;
id a
1 a1
2 a1
DROP TABLE t1;
...@@ -24,6 +24,8 @@ SET lock_wait_timeout=0; ...@@ -24,6 +24,8 @@ SET lock_wait_timeout=0;
SET innodb_lock_wait_timeout=0; SET innodb_lock_wait_timeout=0;
--error ER_LOCK_WAIT_TIMEOUT --error ER_LOCK_WAIT_TIMEOUT
ALTER TABLE t1 PARTITION BY HASH(pk); ALTER TABLE t1 PARTITION BY HASH(pk);
SET lock_wait_timeout=@save_timeout;
SET innodb_lock_wait_timeout=@save_innodb_timeout;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
--connection con1 --connection con1
......
...@@ -46,6 +46,12 @@ perl; ...@@ -46,6 +46,12 @@ perl;
print "# bytes: ", (-s "$ENV{MYSQLD_DATADIR}/test/t1.ibd"), "\n"; print "# bytes: ", (-s "$ENV{MYSQLD_DATADIR}/test/t1.ibd"), "\n";
EOF EOF
INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20; INSERT INTO t1 SELECT seq,REPEAT('a',30000) FROM seq_1_to_20;
# Ensure that the file will be extended with the last 1024-byte page
# after the file was pre-extended in 4096-byte increments.
--disable_query_log
FLUSH TABLE t1 FOR EXPORT;
UNLOCK TABLES;
--enable_query_log
perl; perl;
print "# bytes: ", (-s "$ENV{MYSQLD_DATADIR}/test/t1.ibd"), "\n"; print "# bytes: ", (-s "$ENV{MYSQLD_DATADIR}/test/t1.ibd"), "\n";
EOF EOF
......
...@@ -857,3 +857,34 @@ create table t2 (input_id int primary key, id int not null, ...@@ -857,3 +857,34 @@ create table t2 (input_id int primary key, id int not null,
alter table t1 change id id2 int; alter table t1 change id id2 int;
drop table t2; drop table t2;
drop table t1; drop table t1;
--echo #
--echo # MDEV-25951 MariaDB crash after ALTER TABLE convert to utf8mb4
--echo #
CREATE TABLE t1 (id INT PRIMARY KEY, a VARCHAR(32), KEY (a(7))) ENGINE=INNODB DEFAULT CHARSET=UTF8;
INSERT INTO t1 VALUES (1, 'a1'), (2, 'a1');
--error ER_DUP_ENTRY
ALTER TABLE t1
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci,
ADD UNIQUE INDEX test_key (a);
ALTER TABLE t1 CONVERT TO CHARACTER SET UTF8MB4 COLLATE UTF8MB4_UNICODE_520_CI;
CHECK TABLE t1;
SELECT * FROM t1;
DROP TABLE t1;
CREATE TABLE t1 (id INT PRIMARY KEY, a CHAR(32), KEY (a(7))) ENGINE=INNODB DEFAULT CHARSET=UTF8;
INSERT INTO t1 VALUES (1, 'a1'), (2, 'a1');
--error ER_DUP_ENTRY
ALTER TABLE t1
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci,
ADD UNIQUE INDEX test_key (a);
ALTER TABLE t1 CONVERT TO CHARACTER SET UTF8MB4 COLLATE UTF8MB4_UNICODE_520_CI;
CHECK TABLE t1;
SELECT * FROM t1;
DROP TABLE t1;
This diff is collapsed.
...@@ -6,5 +6,5 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_ ...@@ -6,5 +6,5 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_
CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_current(EVENT_ID); 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' 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 IS_GENERATED GENERATION_EXPRESSION 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 IS_GENERATED 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 NEVER NULL 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 The number of work units completed for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
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 NEVER NULL 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 The number of work units expected for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
...@@ -6,5 +6,5 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_ ...@@ -6,5 +6,5 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_
CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_history(EVENT_ID); 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' 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 IS_GENERATED GENERATION_EXPRESSION 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 IS_GENERATED 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 NEVER NULL 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 The number of work units completed for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
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 NEVER NULL 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 The number of work units expected for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
...@@ -6,5 +6,5 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_ ...@@ -6,5 +6,5 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'performance_
CREATE UNIQUE INDEX test_index ON performance_schema.events_stages_history_long(EVENT_ID); 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' 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 IS_GENERATED GENERATION_EXPRESSION 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 IS_GENERATED 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 NEVER NULL 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 The number of work units completed for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
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 NEVER NULL 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 The number of work units expected for the stage. NULL if the stage event progress is not instrumented. NEVER NULL
...@@ -23,3 +23,14 @@ UNLOCK TABLES; ...@@ -23,3 +23,14 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.accounts WRITE; LOCK TABLES performance_schema.accounts WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='accounts';
column_name column_comment
USER The connection's client user name for the connection, or NULL if an internal thread.
HOST The connection client's host name, or NULL if an internal thread.
CURRENT_CONNECTIONS Current connections for the account.
TOTAL_CONNECTIONS Total connections for the account.
...@@ -18,3 +18,12 @@ UNLOCK TABLES; ...@@ -18,3 +18,12 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.cond_instances WRITE; LOCK TABLES performance_schema.cond_instances WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'cond_instances' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'cond_instances'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='cond_instances';
column_name column_comment
NAME Client user name for the connection, or NULL if an internal thread.
OBJECT_INSTANCE_BEGIN Address in memory of the instrumented condition.
...@@ -24,3 +24,18 @@ UNLOCK TABLES; ...@@ -24,3 +24,18 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_summary_by_account_by_event_name WRITE; LOCK TABLES performance_schema.events_stages_summary_by_account_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_account_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_account_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_summary_by_account_by_event_name';
column_name column_comment
USER User. Used together with HOST and EVENT_NAME for grouping events.
HOST Host. Used together with USER and EVENT_NAME for grouping events.
EVENT_NAME Event name. Used together with USER and HOST for grouping events.
COUNT_STAR Number of summarized events, which includes all timed and untimed events.
SUM_TIMER_WAIT Total wait time of the timed summarized events.
MIN_TIMER_WAIT Minimum wait time of the timed summarized events.
AVG_TIMER_WAIT Average wait time of the timed summarized events.
MAX_TIMER_WAIT Maximum wait time of the timed summarized events.
...@@ -24,3 +24,17 @@ UNLOCK TABLES; ...@@ -24,3 +24,17 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_summary_by_host_by_event_name WRITE; LOCK TABLES performance_schema.events_stages_summary_by_host_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_host_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_host_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_summary_by_host_by_event_name';
column_name column_comment
HOST Host. Used together with EVENT_NAME for grouping events.
EVENT_NAME Event name. Used together with HOST for grouping events.
COUNT_STAR Number of summarized events, which includes all timed and untimed events.
SUM_TIMER_WAIT Total wait time of the timed summarized events.
MIN_TIMER_WAIT Minimum wait time of the timed summarized events.
AVG_TIMER_WAIT Average wait time of the timed summarized events.
MAX_TIMER_WAIT Maximum wait time of the timed summarized events.
...@@ -24,3 +24,17 @@ UNLOCK TABLES; ...@@ -24,3 +24,17 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_summary_by_thread_by_event_name WRITE; LOCK TABLES performance_schema.events_stages_summary_by_thread_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_thread_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_thread_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_summary_by_thread_by_event_name';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_NAME uniquely identifies the row.
EVENT_NAME Event name. Used together with THREAD_ID for grouping events.
COUNT_STAR Number of summarized events, which includes all timed and untimed events.
SUM_TIMER_WAIT Total wait time of the timed summarized events.
MIN_TIMER_WAIT Minimum wait time of the timed summarized events.
AVG_TIMER_WAIT Average wait time of the timed summarized events.
MAX_TIMER_WAIT Maximum wait time of the timed summarized events.
...@@ -24,3 +24,17 @@ UNLOCK TABLES; ...@@ -24,3 +24,17 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_summary_by_user_by_event_name WRITE; LOCK TABLES performance_schema.events_stages_summary_by_user_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_user_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_by_user_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_summary_by_user_by_event_name';
column_name column_comment
USER User. Used together with EVENT_NAME for grouping events.
EVENT_NAME Event name. Used together with USER for grouping events.
COUNT_STAR Number of summarized events, which includes all timed and untimed events.
SUM_TIMER_WAIT Total wait time of the timed summarized events.
MIN_TIMER_WAIT Minimum wait time of the timed summarized events.
AVG_TIMER_WAIT Average wait time of the timed summarized events.
MAX_TIMER_WAIT Maximum wait time of the timed summarized events.
...@@ -23,3 +23,16 @@ UNLOCK TABLES; ...@@ -23,3 +23,16 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_summary_global_by_event_name WRITE; LOCK TABLES performance_schema.events_stages_summary_global_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_global_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_summary_global_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_summary_global_by_event_name';
column_name column_comment
EVENT_NAME Event name.
COUNT_STAR Number of summarized events, which includes all timed and untimed events.
SUM_TIMER_WAIT Total wait time of the timed summarized events.
MIN_TIMER_WAIT Minimum wait time of the timed summarized events.
AVG_TIMER_WAIT Average wait time of the timed summarized events.
MAX_TIMER_WAIT Maximum wait time of the timed summarized events.
...@@ -24,3 +24,37 @@ UNLOCK TABLES; ...@@ -24,3 +24,37 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_summary_by_account_by_event_name WRITE; LOCK TABLES performance_schema.events_statements_summary_by_account_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_account_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_account_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_summary_by_account_by_event_name';
column_name column_comment
USER User. Used together with HOST and EVENT_NAME for grouping events.
HOST Host. Used together with USER and EVENT_NAME for grouping events.
EVENT_NAME Event name. Used together with USER and HOST for grouping events.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
SUM_LOCK_TIME Sum of the LOCK_TIME column in the events_statements_current table.
SUM_ERRORS Sum of the ERRORS column in the events_statements_current table.
SUM_WARNINGS Sum of the WARNINGS column in the events_statements_current table.
SUM_ROWS_AFFECTED Sum of the ROWS_AFFECTED column in the events_statements_current table.
SUM_ROWS_SENT Sum of the ROWS_SENT column in the events_statements_current table.
SUM_ROWS_EXAMINED Sum of the ROWS_EXAMINED column in the events_statements_current table.
SUM_CREATED_TMP_DISK_TABLES Sum of the CREATED_TMP_DISK_TABLES column in the events_statements_current table.
SUM_CREATED_TMP_TABLES Sum of the CREATED_TMP_TABLES column in the events_statements_current table.
SUM_SELECT_FULL_JOIN Sum of the SELECT_FULL_JOIN column in the events_statements_current table.
SUM_SELECT_FULL_RANGE_JOIN Sum of the SELECT_FULL_RANGE_JOIN column in the events_statements_current table.
SUM_SELECT_RANGE Sum of the SELECT_RANGE column in the events_statements_current table.
SUM_SELECT_RANGE_CHECK Sum of the SELECT_RANGE_CHECK column in the events_statements_current table.
SUM_SELECT_SCAN Sum of the SELECT_SCAN column in the events_statements_current table.
SUM_SORT_MERGE_PASSES Sum of the SORT_MERGE_PASSES column in the events_statements_current table.
SUM_SORT_RANGE Sum of the SORT_RANGE column in the events_statements_current table.
SUM_SORT_ROWS Sum of the SORT_ROWS column in the events_statements_current table.
SUM_SORT_SCAN Sum of the SORT_SCAN column in the events_statements_current table.
SUM_NO_INDEX_USED Sum of the NO_INDEX_USED column in the events_statements_current table.
SUM_NO_GOOD_INDEX_USED Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.
...@@ -25,3 +25,39 @@ UNLOCK TABLES; ...@@ -25,3 +25,39 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_summary_by_digest WRITE; LOCK TABLES performance_schema.events_statements_summary_by_digest WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_digest' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_digest'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_summary_by_digest';
column_name column_comment
SCHEMA_NAME Database name. Records are summarised together with DIGEST.
DIGEST Performance Schema digest. Records are summarised together with SCHEMA NAME.
DIGEST_TEXT The unhashed form of the digest.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
SUM_LOCK_TIME Sum of the LOCK_TIME column in the events_statements_current table.
SUM_ERRORS Sum of the ERRORS column in the events_statements_current table.
SUM_WARNINGS Sum of the WARNINGS column in the events_statements_current table.
SUM_ROWS_AFFECTED Sum of the ROWS_AFFECTED column in the events_statements_current table.
SUM_ROWS_SENT Sum of the ROWS_SENT column in the events_statements_current table.
SUM_ROWS_EXAMINED Sum of the ROWS_EXAMINED column in the events_statements_current table.
SUM_CREATED_TMP_DISK_TABLES Sum of the CREATED_TMP_DISK_TABLES column in the events_statements_current table.
SUM_CREATED_TMP_TABLES Sum of the CREATED_TMP_TABLES column in the events_statements_current table.
SUM_SELECT_FULL_JOIN Sum of the SELECT_FULL_JOIN column in the events_statements_current table.
SUM_SELECT_FULL_RANGE_JOIN Sum of the SELECT_FULL_RANGE_JOIN column in the events_statements_current table.
SUM_SELECT_RANGE Sum of the SELECT_RANGE column in the events_statements_current table.
SUM_SELECT_RANGE_CHECK Sum of the SELECT_RANGE_CHECK column in the events_statements_current table.
SUM_SELECT_SCAN Sum of the SELECT_SCAN column in the events_statements_current table.
SUM_SORT_MERGE_PASSES Sum of the SORT_MERGE_PASSES column in the events_statements_current table.
SUM_SORT_RANGE Sum of the SORT_RANGE column in the events_statements_current table.
SUM_SORT_ROWS Sum of the SORT_ROWS column in the events_statements_current table.
SUM_SORT_SCAN Sum of the SORT_SCAN column in the events_statements_current table.
SUM_NO_INDEX_USED Sum of the NO_INDEX_USED column in the events_statements_current table.
SUM_NO_GOOD_INDEX_USED Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.
FIRST_SEEN Time at which the digest was first seen.
LAST_SEEN Time at which the digest was most recently seen.
...@@ -24,3 +24,36 @@ UNLOCK TABLES; ...@@ -24,3 +24,36 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_summary_by_host_by_event_name WRITE; LOCK TABLES performance_schema.events_statements_summary_by_host_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_host_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_host_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_summary_by_host_by_event_name';
column_name column_comment
HOST Host. Used together with EVENT_NAME for grouping events.
EVENT_NAME Event name. Used together with HOST for grouping events.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
SUM_LOCK_TIME Sum of the LOCK_TIME column in the events_statements_currentd table.
SUM_ERRORS Sum of the ERRORS column in the events_statements_current table.
SUM_WARNINGS Sum of the WARNINGS column in the events_statements_current table.
SUM_ROWS_AFFECTED Sum of the ROWS_AFFECTED column in the events_statements_current table.
SUM_ROWS_SENT Sum of the ROWS_SENT column in the events_statements_current table.
SUM_ROWS_EXAMINED Sum of the ROWS_EXAMINED column in the events_statements_current table.
SUM_CREATED_TMP_DISK_TABLES Sum of the CREATED_TMP_DISK_TABLES column in the events_statements_current table.
SUM_CREATED_TMP_TABLES Sum of the CREATED_TMP_TABLES column in the events_statements_current table.
SUM_SELECT_FULL_JOIN Sum of the SELECT_FULL_JOIN column in the events_statements_current table.
SUM_SELECT_FULL_RANGE_JOIN Sum of the SELECT_FULL_RANGE_JOINW column in the events_statements_current table.
SUM_SELECT_RANGE Sum of the SELECT_RANGE column in the events_statements_current table.
SUM_SELECT_RANGE_CHECK Sum of the SELECT_RANGE_CHECK column in the events_statements_current table.
SUM_SELECT_SCAN Sum of the SELECT_SCAN column in the events_statements_current table.
SUM_SORT_MERGE_PASSES Sum of the SORT_MERGE_PASSES column in the events_statements_current table.
SUM_SORT_RANGE Sum of the SORT_RANGE column in the events_statements_current table.
SUM_SORT_ROWS Sum of the SORT_ROWS column in the events_statements_current table.
SUM_SORT_SCAN Sum of the SORT_SCAN column in the events_statements_current table.
SUM_NO_INDEX_USED Sum of the NO_INDEX_USED column in the events_statements_current table.
SUM_NO_GOOD_INDEX_USED Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.
...@@ -24,3 +24,36 @@ UNLOCK TABLES; ...@@ -24,3 +24,36 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_summary_by_thread_by_event_name WRITE; LOCK TABLES performance_schema.events_statements_summary_by_thread_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_thread_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_thread_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_summary_by_thread_by_event_name';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_NAME uniquely identifies the row.
EVENT_NAME Event name. Used together with THREAD_ID for grouping events.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
SUM_LOCK_TIME Sum of the LOCK_TIME column in the events_statements_current table.
SUM_ERRORS Sum of the ERRORS column in the events_statements_current table.
SUM_WARNINGS Sum of the WARNINGS column in the events_statements_current table.
SUM_ROWS_AFFECTED Sum of the ROWS_AFFECTED column in the events_statements_current table.
SUM_ROWS_SENT Sum of the ROWS_SENT column in the events_statements_current table.
SUM_ROWS_EXAMINED Sum of the ROWS_EXAMINED column in the events_statements_current table.
SUM_CREATED_TMP_DISK_TABLES Sum of the CREATED_TMP_DISK_TABLES column in the events_statements_current table.
SUM_CREATED_TMP_TABLES Sum of the CREATED_TMP_TABLES column in the events_statements_current table.
SUM_SELECT_FULL_JOIN Sum of the SELECT_FULL_JOIN column in the events_statements_current table.
SUM_SELECT_FULL_RANGE_JOIN Sum of the SELECT_FULL_RANGE_JOIN column in the events_statements_current table.
SUM_SELECT_RANGE Sum of the SELECT_RANGE column in the events_statements_current table.
SUM_SELECT_RANGE_CHECK Sum of the SELECT_RANGE_CHECK column in the events_statements_current table.
SUM_SELECT_SCAN Sum of the SELECT_SCAN column in the events_statements_current table.
SUM_SORT_MERGE_PASSES Sum of the SORT_MERGE_PASSES column in the events_statements_current table.
SUM_SORT_RANGE Sum of the SORT_RANGE column in the events_statements_current table.
SUM_SORT_ROWS Sum of the SORT_ROWS column in the events_statements_current table.
SUM_SORT_SCAN Sum of the SORT_SCAN column in the events_statements_current table.
SUM_NO_INDEX_USED Sum of the NO_INDEX_USED column in the events_statements_current table.
SUM_NO_GOOD_INDEX_USED Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.
...@@ -24,3 +24,36 @@ UNLOCK TABLES; ...@@ -24,3 +24,36 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_summary_by_user_by_event_name WRITE; LOCK TABLES performance_schema.events_statements_summary_by_user_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_user_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_by_user_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_summary_by_user_by_event_name';
column_name column_comment
USER User. Used together with EVENT_NAME for grouping events.
EVENT_NAME Event name. Used together with USER for grouping events.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
SUM_LOCK_TIME Sum of the LOCK_TIME column in the events_statements_current table.
SUM_ERRORS Sum of the ERRORS column in the events_statements_current table.
SUM_WARNINGS Sum of the WARNINGS column in the events_statements_current table.
SUM_ROWS_AFFECTED Sum of the ROWS_AFFECTED column in the events_statements_current table.
SUM_ROWS_SENT Sum of the ROWS_SENT column in the events_statements_current table.
SUM_ROWS_EXAMINED Sum of the ROWS_EXAMINED column in the events_statements_current table.
SUM_CREATED_TMP_DISK_TABLES Sum of the CREATED_TMP_DISK_TABLES column in the events_statements_current table.
SUM_CREATED_TMP_TABLES Sum of the CREATED_TMP_TABLES column in the events_statements_current table.
SUM_SELECT_FULL_JOIN Sum of the SELECT_FULL_JOIN column in the events_statements_current table.
SUM_SELECT_FULL_RANGE_JOIN Sum of the SELECT_FULL_RANGE_JOIN column in the events_statements_current table.
SUM_SELECT_RANGE Sum of the SELECT_RANGE column in the events_statements_current table.
SUM_SELECT_RANGE_CHECK Sum of the SELECT_RANGE_CHECK column in the events_statements_current table.
SUM_SELECT_SCAN Sum of the SELECT_SCAN column in the events_statements_current table.
SUM_SORT_MERGE_PASSES Sum of the SORT_MERGE_PASSES column in the events_statements_current table.
SUM_SORT_RANGE Sum of the SORT_RANGE column in the events_statements_current table.
SUM_SORT_ROWS Sum of the SORT_ROWS column in the events_statements_current table.
SUM_SORT_SCAN Sum of the SORT_SCAN column in the events_statements_current table.
SUM_NO_INDEX_USED Sum of the NO_INDEX_USED column in the events_statements_current table.
SUM_NO_GOOD_INDEX_USED Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.
...@@ -23,3 +23,35 @@ UNLOCK TABLES; ...@@ -23,3 +23,35 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_summary_global_by_event_name WRITE; LOCK TABLES performance_schema.events_statements_summary_global_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_global_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_summary_global_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_summary_global_by_event_name';
column_name column_comment
EVENT_NAME Event name.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
SUM_LOCK_TIME Sum of the LOCK_TIME column in the events_statements_current table.
SUM_ERRORS Sum of the ERRORS column in the events_statements_current table.
SUM_WARNINGS Sum of the WARNINGS column in the events_statements_current table.
SUM_ROWS_AFFECTED Sum of the ROWS_AFFECTED column in the events_statements_current table.
SUM_ROWS_SENT Sum of the ROWS_SENT column in the events_statements_current table.
SUM_ROWS_EXAMINED Sum of the ROWS_EXAMINED column in the events_statements_current table.
SUM_CREATED_TMP_DISK_TABLES Sum of the CREATED_TMP_DISK_TABLES column in the events_statements_current table.
SUM_CREATED_TMP_TABLES Sum of the CREATED_TMP_TABLES column in the events_statements_current table.
SUM_SELECT_FULL_JOIN Sum of the SELECT_FULL_JOIN column in the events_statements_current table.
SUM_SELECT_FULL_RANGE_JOIN Sum of the SELECT_FULL_RANGE_JOIN column in the events_statements_current table.
SUM_SELECT_RANGE Sum of the SELECT_RANGE column in the events_statements_current table.
SUM_SELECT_RANGE_CHECK Sum of the SELECT_RANGE_CHECK column in the events_statements_current table.
SUM_SELECT_SCAN Sum of the SELECT_SCAN column in the events_statements_current table.
SUM_SORT_MERGE_PASSES Sum of the SORT_MERGE_PASSES column in the events_statements_current table.
SUM_SORT_RANGE Sum of the SORT_RANGE column in the events_statements_current table.
SUM_SORT_ROWS Sum of the SORT_ROWS column in the events_statements_current table.
SUM_SORT_SCAN Sum of the SORT_SCAN column in the events_statements_current table.
SUM_NO_INDEX_USED Sum of the NO_INDEX_USED column in the events_statements_current table.
SUM_NO_GOOD_INDEX_USED Sum of the NO_GOOD_INDEX_USED column in the events_statements_current table.
...@@ -23,3 +23,22 @@ UNLOCK TABLES; ...@@ -23,3 +23,22 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_current WRITE; LOCK TABLES performance_schema.events_stages_current WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_current' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_current'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_current';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_ID uniquely identifies the row.
EVENT_ID Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row.
END_EVENT_ID NULL when the event starts, set to the thread's current event number at the end of the event.
EVENT_NAME Event instrument name and a NAME from the setup_instruments table
SOURCE Name and line number of the source file containing the instrumented code that produced the event.
TIMER_START Value in picoseconds when the event timing started or NULL if timing is not collected.
TIMER_END Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected.
TIMER_WAIT Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected.
WORK_COMPLETED The number of work units completed for the stage. NULL if the stage event progress is not instrumented.
WORK_ESTIMATED The number of work units expected for the stage. NULL if the stage event progress is not instrumented.
NESTING_EVENT_ID EVENT_ID of event within which this event nests.
NESTING_EVENT_TYPE Nesting event type. Either transaction, statement, stage or wait.
...@@ -27,3 +27,22 @@ UNLOCK TABLES; ...@@ -27,3 +27,22 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_history WRITE; LOCK TABLES performance_schema.events_stages_history WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_history' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_history'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_history';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_ID uniquely identifies the row.
EVENT_ID Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row.
END_EVENT_ID NULL when the event starts, set to the thread's current event number at the end of the event.
EVENT_NAME Event instrument name and a NAME from the setup_instruments table
SOURCE Name and line number of the source file containing the instrumented code that produced the event.
TIMER_START Value in picoseconds when the event timing started or NULL if timing is not collected.
TIMER_END Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected.
TIMER_WAIT Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected.
WORK_COMPLETED The number of work units completed for the stage. NULL if the stage event progress is not instrumented.
WORK_ESTIMATED The number of work units expected for the stage. NULL if the stage event progress is not instrumented.
NESTING_EVENT_ID EVENT_ID of event within which this event nests.
NESTING_EVENT_TYPE Nesting event type. Either transaction, statement, stage or wait.
...@@ -27,3 +27,22 @@ UNLOCK TABLES; ...@@ -27,3 +27,22 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_history_long WRITE; LOCK TABLES performance_schema.events_stages_history_long WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_history_long' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_stages_history_long'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_history_long';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_ID uniquely identifies the row.
EVENT_ID Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row.
END_EVENT_ID NULL when the event starts, set to the thread's current event number at the end of the event.
EVENT_NAME Event instrument name and a NAME from the setup_instruments table
SOURCE Name and line number of the source file containing the instrumented code that produced the event.
TIMER_START Value in picoseconds when the event timing started or NULL if timing is not collected.
TIMER_END Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected.
TIMER_WAIT Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected.
WORK_COMPLETED The number of work units completed for the stage. NULL if the stage event progress is not instrumented.
WORK_ESTIMATED The number of work units expected for the stage. NULL if the stage event progress is not instrumented.
NESTING_EVENT_ID EVENT_ID of event within which this event nests.
NESTING_EVENT_TYPE Nesting event type. Either transaction, statement, stage or wait.
...@@ -23,3 +23,51 @@ UNLOCK TABLES; ...@@ -23,3 +23,51 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_current WRITE; LOCK TABLES performance_schema.events_statements_current WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_current' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_current'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_current';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_ID uniquely identifies the row.
EVENT_ID Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row.
END_EVENT_ID NULL when the event starts, set to the thread's current event number at the end of the event.
EVENT_NAME Event instrument name and a NAME from the setup_instruments table
SOURCE Name and line number of the source file containing the instrumented code that produced the event.
TIMER_START Value in picoseconds when the event timing started or NULL if timing is not collected.
TIMER_END Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected.
TIMER_WAIT Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected.
LOCK_TIME Time in picoseconds spent waiting for locks. The time is calculated in microseconds but stored in picoseconds for compatibility with other timings.
SQL_TEXT The SQL statement, or NULL if the command is not associated with an SQL statement.
DIGEST Statement digest.
DIGEST_TEXT Statement digest text.
CURRENT_SCHEMA Statement's default database for the statement, or NULL if there was none.
OBJECT_TYPE NULL for top level statements. The parent statement object type for nested statements (stored programs).
OBJECT_SCHEMA NULL for top level statements. The parent statement object schema for nested statements (stored programs).
OBJECT_NAME NULL for top level statements. The parent statement object name for nested statements (stored programs).
OBJECT_INSTANCE_BEGIN Address in memory of the statement object.
MYSQL_ERRNO Error code. See MariaDB Error Codes for a full list.
RETURNED_SQLSTATE The SQLSTATE value.
MESSAGE_TEXT Statement error message. See MariaDB Error Codes.
ERRORS 0 if SQLSTATE signifies completion (starting with 00) or warning (01), otherwise 1.
WARNINGS Number of warnings from the diagnostics area.
ROWS_AFFECTED Number of rows affected the statement affected.
ROWS_SENT Number of rows returned.
ROWS_EXAMINED Number of rows read during the statement's execution.
CREATED_TMP_DISK_TABLES Number of on-disk temp tables created by the statement.
CREATED_TMP_TABLES Number of temp tables created by the statement.
SELECT_FULL_JOIN Number of joins performed by the statement which did not use an index.
SELECT_FULL_RANGE_JOIN Number of joins performed by the statement which used a range search of the first table.
SELECT_RANGE Number of joins performed by the statement which used a range of the first table.
SELECT_RANGE_CHECK Number of joins without keys performed by the statement that check for key usage after each row.
SELECT_SCAN Number of joins performed by the statement which used a full scan of the first table.
SORT_MERGE_PASSES Number of merge passes by the sort algorithm performed by the statement. If too high, you may need to increase the sort_buffer_size.
SORT_RANGE Number of sorts performed by the statement which used a range.
SORT_ROWS Number of rows sorted by the statement.
SORT_SCAN Number of sorts performed by the statement which used a full table scan.
NO_INDEX_USED 0 if the statement performed a table scan with an index, 1 if without an index.
NO_GOOD_INDEX_USED 0 if a good index was found for the statement, 1 if no good index was found. See the Range checked for each record description in the EXPLAIN article.
NESTING_EVENT_ID NULL for top level statements. The parent statement event id for nested statements (stored programs).
NESTING_EVENT_TYPE NULL for top level statements. The parent statement event type for nested statements (stored programs).
NESTING_EVENT_LEVEL 0 for top level statements. The parent statement level plus 1 for nested statements (stored programs).
...@@ -27,3 +27,51 @@ UNLOCK TABLES; ...@@ -27,3 +27,51 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_history WRITE; LOCK TABLES performance_schema.events_statements_history WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_history' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_history'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_history';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_ID uniquely identifies the row.
EVENT_ID Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row.
END_EVENT_ID NULL when the event starts, set to the thread's current event number at the end of the event.
EVENT_NAME Event instrument name and a NAME from the setup_instruments table
SOURCE Name and line number of the source file containing the instrumented code that produced the event.
TIMER_START Value in picoseconds when the event timing started or NULL if timing is not collected.
TIMER_END Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected.
TIMER_WAIT Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected.
LOCK_TIME Time in picoseconds spent waiting for locks. The time is calculated in microseconds but stored in picoseconds for compatibility with other timings.
SQL_TEXT The SQL statement, or NULL if the command is not associated with an SQL statement.
DIGEST Statement digest.
DIGEST_TEXT Statement digest text.
CURRENT_SCHEMA Statement's default database for the statement, or NULL if there was none.
OBJECT_TYPE NULL for top level statements. The parent statement object type for nested statements (stored programs).
OBJECT_SCHEMA NULL for top level statements. The parent statement object schema for nested statements (stored programs).
OBJECT_NAME NULL for top level statements. The parent statement object name for nested statements (stored programs).
OBJECT_INSTANCE_BEGIN Address in memory of the statement object.
MYSQL_ERRNO Error code. See MariaDB Error Codes for a full list.
RETURNED_SQLSTATE The SQLSTATE value.
MESSAGE_TEXT Statement error message. See MariaDB Error Codes.
ERRORS 0 if SQLSTATE signifies completion (starting with 00) or warning (01), otherwise 1.
WARNINGS Number of warnings from the diagnostics area.
ROWS_AFFECTED Number of rows affected the statement affected.
ROWS_SENT Number of rows returned.
ROWS_EXAMINED Number of rows read during the statement's execution.
CREATED_TMP_DISK_TABLES Number of on-disk temp tables created by the statement.
CREATED_TMP_TABLES Number of temp tables created by the statement.
SELECT_FULL_JOIN Number of joins performed by the statement which did not use an index.
SELECT_FULL_RANGE_JOIN Number of joins performed by the statement which used a range search of the first table.
SELECT_RANGE Number of joins performed by the statement which used a range of the first table.
SELECT_RANGE_CHECK Number of joins without keys performed by the statement that check for key usage after each row.
SELECT_SCAN Number of joins performed by the statement which used a full scan of the first table.
SORT_MERGE_PASSES Number of merge passes by the sort algorithm performed by the statement. If too high, you may need to increase the sort_buffer_size.
SORT_RANGE Number of sorts performed by the statement which used a range.
SORT_ROWS Number of rows sorted by the statement.
SORT_SCAN Number of sorts performed by the statement which used a full table scan.
NO_INDEX_USED 0 if the statement performed a table scan with an index, 1 if without an index.
NO_GOOD_INDEX_USED 0 if a good index was found for the statement, 1 if no good index was found. See the Range checked for each record description in the EXPLAIN article.
NESTING_EVENT_ID NULL for top level statements. The parent statement event id for nested statements (stored programs).
NESTING_EVENT_TYPE NULL for top level statements. The parent statement event type for nested statements (stored programs).
NESTING_EVENT_LEVEL 0 for top level statements. The parent statement level plus 1 for nested statements (stored programs).
...@@ -27,3 +27,51 @@ UNLOCK TABLES; ...@@ -27,3 +27,51 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_history_long WRITE; LOCK TABLES performance_schema.events_statements_history_long WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_history_long' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_statements_history_long'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_history_long';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_ID uniquely identifies the row.
EVENT_ID Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row.
END_EVENT_ID NULL when the event starts, set to the thread's current event number at the end of the event.
EVENT_NAME Event instrument name and a NAME from the setup_instruments table
SOURCE Name and line number of the source file containing the instrumented code that produced the event.
TIMER_START Value in picoseconds when the event timing started or NULL if timing is not collected.
TIMER_END Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected.
TIMER_WAIT Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected.
LOCK_TIME Time in picoseconds spent waiting for locks. The time is calculated in microseconds but stored in picoseconds for compatibility with other timings.
SQL_TEXT The SQL statement, or NULL if the command is not associated with an SQL statement.
DIGEST Statement digest.
DIGEST_TEXT Statement digest text.
CURRENT_SCHEMA Statement's default database for the statement, or NULL if there was none.
OBJECT_TYPE NULL for top level statements. The parent statement object type for nested statements (stored programs).
OBJECT_SCHEMA NULL for top level statements. The parent statement object schema for nested statements (stored programs).
OBJECT_NAME NULL for top level statements. The parent statement object name for nested statements (stored programs).
OBJECT_INSTANCE_BEGIN Address in memory of the statement object.
MYSQL_ERRNO Error code. See MariaDB Error Codes for a full list.
RETURNED_SQLSTATE The SQLSTATE value.
MESSAGE_TEXT Statement error message. See MariaDB Error Codes.
ERRORS 0 if SQLSTATE signifies completion (starting with 00) or warning (01), otherwise 1.
WARNINGS Number of warnings from the diagnostics area.
ROWS_AFFECTED Number of rows affected the statement affected.
ROWS_SENT Number of rows returned.
ROWS_EXAMINED Number of rows read during the statement's execution.
CREATED_TMP_DISK_TABLES Number of on-disk temp tables created by the statement.
CREATED_TMP_TABLES Number of temp tables created by the statement.
SELECT_FULL_JOIN Number of joins performed by the statement which did not use an index.
SELECT_FULL_RANGE_JOIN Number of joins performed by the statement which used a range search of the first table.
SELECT_RANGE Number of joins performed by the statement which used a range of the first table.
SELECT_RANGE_CHECK Number of joins without keys performed by the statement that check for key usage after each row.
SELECT_SCAN Number of joins performed by the statement which used a full scan of the first table.
SORT_MERGE_PASSES Number of merge passes by the sort algorithm performed by the statement. If too high, you may need to increase the sort_buffer_size.
SORT_RANGE Number of sorts performed by the statement which used a range.
SORT_ROWS Number of rows sorted by the statement.
SORT_SCAN Number of sorts performed by the statement which used a full table scan.
NO_INDEX_USED 0 if the statement performed a table scan with an index, 1 if without an index.
NO_GOOD_INDEX_USED 0 if a good index was found for the statement, 1 if no good index was found. See the Range checked for each record description in the EXPLAIN article.
NESTING_EVENT_ID NULL for top level statements. The parent statement event id for nested statements (stored programs).
NESTING_EVENT_TYPE NULL for top level statements. The parent statement event type for nested statements (stored programs).
NESTING_EVENT_LEVEL 0 for top level statements. The parent statement level plus 1 for nested statements (stored programs).
...@@ -23,3 +23,29 @@ UNLOCK TABLES; ...@@ -23,3 +23,29 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_current WRITE; LOCK TABLES performance_schema.events_waits_current WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_current' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_current'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_waits_current';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_ID uniquely identifies the row.
EVENT_ID Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row.
END_EVENT_ID NULL when the event starts, set to the thread's current event number at the end of the event.
EVENT_NAME Event instrument name and a NAME from the setup_instruments table
SOURCE Name and line number of the source file containing the instrumented code that produced the event.
TIMER_START Value in picoseconds when the event timing started or NULL if timing is not collected.
TIMER_END Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected.
TIMER_WAIT Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected.
SPINS Number of spin rounds for a mutex, or NULL if spin rounds are not used, or spinning is not instrumented.
OBJECT_SCHEMA Name of the schema that contains the table for table I/O objects, otherwise NULL for file I/O and synchronization objects.
OBJECT_NAME File name for file I/O objects, table name for table I/O objects, the socket's IP:PORT value for a socket object or NULL for a synchronization object.
INDEX_NAME Name of the index, PRIMARY for the primary key, or NULL for no index used.
OBJECT_TYPE FILE for a file object, TABLE or TEMPORARY TABLE for a table object, or NULL for a synchronization object.
OBJECT_INSTANCE_BEGIN Address in memory of the object.
NESTING_EVENT_ID EVENT_ID of event within which this event nests.
NESTING_EVENT_TYPE Nesting event type. Either statement, stage or wait.
OPERATION Operation type, for example read, write or lock
NUMBER_OF_BYTES Number of bytes that the operation read or wrote, or NULL for table I/O waits.
FLAGS Reserved for use in the future.
...@@ -27,3 +27,29 @@ UNLOCK TABLES; ...@@ -27,3 +27,29 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_history WRITE; LOCK TABLES performance_schema.events_waits_history WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_waits_history';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_ID uniquely identifies the row.
EVENT_ID Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row.
END_EVENT_ID NULL when the event starts, set to the thread's current event number at the end of the event.
EVENT_NAME Event instrument name and a NAME from the setup_instruments table
SOURCE Name and line number of the source file containing the instrumented code that produced the event.
TIMER_START Value in picoseconds when the event timing started or NULL if timing is not collected.
TIMER_END Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected.
TIMER_WAIT Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected.
SPINS Number of spin rounds for a mutex, or NULL if spin rounds are not used, or spinning is not instrumented.
OBJECT_SCHEMA Name of the schema that contains the table for table I/O objects, otherwise NULL for file I/O and synchronization objects.
OBJECT_NAME File name for file I/O objects, table name for table I/O objects, the socket's IP:PORT value for a socket object or NULL for a synchronization object.
INDEX_NAME Name of the index, PRIMARY for the primary key, or NULL for no index used.
OBJECT_TYPE FILE for a file object, TABLE or TEMPORARY TABLE for a table object, or NULL for a synchronization object.
OBJECT_INSTANCE_BEGIN Address in memory of the object.
NESTING_EVENT_ID EVENT_ID of event within which this event nests.
NESTING_EVENT_TYPE Nesting event type. Either statement, stage or wait.
OPERATION Operation type, for example read, write or lock
NUMBER_OF_BYTES Number of bytes that the operation read or wrote, or NULL for table I/O waits.
FLAGS Reserved for use in the future.
...@@ -27,3 +27,29 @@ UNLOCK TABLES; ...@@ -27,3 +27,29 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_history_long WRITE; LOCK TABLES performance_schema.events_waits_history_long WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history_long' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_history_long'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_waits_history_long';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_ID uniquely identifies the row.
EVENT_ID Thread's current event number at the start of the event. Together with THREAD_ID uniquely identifies the row.
END_EVENT_ID NULL when the event starts, set to the thread's current event number at the end of the event.
EVENT_NAME Event instrument name and a NAME from the setup_instruments table
SOURCE Name and line number of the source file containing the instrumented code that produced the event.
TIMER_START Value in picoseconds when the event timing started or NULL if timing is not collected.
TIMER_END Value in picoseconds when the event timing ended, or NULL if the event has not ended or timing is not collected.
TIMER_WAIT Value in picoseconds of the event's duration or NULL if the event has not ended or timing is not collected.
SPINS Number of spin rounds for a mutex, or NULL if spin rounds are not used, or spinning is not instrumented.
OBJECT_SCHEMA Name of the schema that contains the table for table I/O objects, otherwise NULL for file I/O and synchronization objects.
OBJECT_NAME File name for file I/O objects, table name for table I/O objects, the socket's IP:PORT value for a socket object or NULL for a synchronization object.
INDEX_NAME Name of the index, PRIMARY for the primary key, or NULL for no index used.
OBJECT_TYPE FILE for a file object, TABLE or TEMPORARY TABLE for a table object, or NULL for a synchronization object.
OBJECT_INSTANCE_BEGIN Address in memory of the object.
NESTING_EVENT_ID EVENT_ID of event within which this event nests.
NESTING_EVENT_TYPE Nesting event type. Either statement, stage or wait.
OPERATION Operation type, for example read, write or lock
NUMBER_OF_BYTES Number of bytes that the operation read or wrote, or NULL for table I/O waits.
FLAGS Reserved for use in the future.
...@@ -27,3 +27,18 @@ UNLOCK TABLES; ...@@ -27,3 +27,18 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_summary_by_account_by_event_name WRITE; LOCK TABLES performance_schema.events_waits_summary_by_account_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_account_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_account_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_waits_summary_by_account_by_event_name';
column_name column_comment
USER User. Used together with HOST and EVENT_NAME for grouping events.
HOST Host. Used together with USER and EVENT_NAME for grouping events.
EVENT_NAME Event name. Used together with USER and HOST for grouping events.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
...@@ -27,3 +27,17 @@ UNLOCK TABLES; ...@@ -27,3 +27,17 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_summary_by_host_by_event_name WRITE; LOCK TABLES performance_schema.events_waits_summary_by_host_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_host_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_host_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_waits_summary_by_host_by_event_name';
column_name column_comment
HOST Host. Used together with EVENT_NAME for grouping events.
EVENT_NAME Event name. Used together with USER and HOST for grouping events.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
...@@ -32,3 +32,17 @@ UNLOCK TABLES; ...@@ -32,3 +32,17 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_summary_by_instance WRITE; LOCK TABLES performance_schema.events_waits_summary_by_instance WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_instance'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_waits_summary_by_instance';
column_name column_comment
EVENT_NAME Event name. Used together with OBJECT_INSTANCE_BEGIN for grouping events.
OBJECT_INSTANCE_BEGIN If an instrument creates multiple instances, each instance has a unique OBJECT_INSTANCE_BEGIN value to allow for grouping by instance.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
...@@ -24,3 +24,17 @@ UNLOCK TABLES; ...@@ -24,3 +24,17 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_summary_by_thread_by_event_name WRITE; LOCK TABLES performance_schema.events_waits_summary_by_thread_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_thread_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_waits_summary_by_thread_by_event_name';
column_name column_comment
THREAD_ID Thread associated with the event. Together with EVENT_NAME uniquely identifies the row.
EVENT_NAME Event name. Used together with THREAD_ID for grouping events.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
...@@ -27,3 +27,17 @@ UNLOCK TABLES; ...@@ -27,3 +27,17 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_summary_by_user_by_event_name WRITE; LOCK TABLES performance_schema.events_waits_summary_by_user_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_user_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_by_user_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_waits_summary_by_user_by_event_name';
column_name column_comment
USER User. Used together with EVENT_NAME for grouping events.
EVENT_NAME Event name. Used together with USER for grouping events.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
...@@ -23,3 +23,16 @@ UNLOCK TABLES; ...@@ -23,3 +23,16 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_waits_summary_global_by_event_name WRITE; LOCK TABLES performance_schema.events_waits_summary_global_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'events_waits_summary_global_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_waits_summary_global_by_event_name';
column_name column_comment
EVENT_NAME Event name.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
...@@ -18,6 +18,16 @@ UNLOCK TABLES; ...@@ -18,6 +18,16 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.file_instances WRITE; LOCK TABLES performance_schema.file_instances WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_instances' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_instances'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='file_instances';
column_name column_comment
FILE_NAME File name.
EVENT_NAME Instrument name associated with the file.
OPEN_COUNT Open handles on the file. A value of greater than zero means that the file is currently open.
### ###
### Bug#26152751: INNODB LEAKS MEMORY, PERFORMANCE_SCHEMA FILE_INSTANCES ### Bug#26152751: INNODB LEAKS MEMORY, PERFORMANCE_SCHEMA FILE_INSTANCES
### #SQL-IB3129987-252773.IBD ### #SQL-IB3129987-252773.IBD
...@@ -77,3 +87,13 @@ DROP TABLE t_db_26152751; ...@@ -77,3 +87,13 @@ DROP TABLE t_db_26152751;
SELECT FILE_NAME FROM performance_schema.file_instances WHERE FILE_NAME LIKE "%t_db_26152751%"; SELECT FILE_NAME FROM performance_schema.file_instances WHERE FILE_NAME LIKE "%t_db_26152751%";
FILE_NAME FILE_NAME
DROP DATABASE db_26152751; DROP DATABASE db_26152751;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='file_instances';
column_name column_comment
FILE_NAME File name.
EVENT_NAME Instrument name associated with the file.
OPEN_COUNT Open handles on the file. A value of greater than zero means that the file is currently open.
...@@ -23,3 +23,33 @@ UNLOCK TABLES; ...@@ -23,3 +23,33 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.file_summary_by_event_name WRITE; LOCK TABLES performance_schema.file_summary_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='file_summary_by_event_name';
column_name column_comment
EVENT_NAME Event name.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
COUNT_READ Number of all read operations, including FGETS, FGETC, FREAD, and READ.
SUM_TIMER_READ Total wait time of all read operations that are timed.
MIN_TIMER_READ Minimum wait time of all read operations that are timed.
AVG_TIMER_READ Average wait time of all read operations that are timed.
MAX_TIMER_READ Maximum wait time of all read operations that are timed.
SUM_NUMBER_OF_BYTES_READ Bytes read by read operations.
COUNT_WRITE Number of all write operations, including FPUTS, FPUTC, FPRINTF, VFPRINTF, FWRITE, and PWRITE.
SUM_TIMER_WRITE Total wait time of all write operations that are timed.
MIN_TIMER_WRITE Minimum wait time of all write operations that are timed.
AVG_TIMER_WRITE Average wait time of all write operations that are timed.
MAX_TIMER_WRITE Maximum wait time of all write operations that are timed.
SUM_NUMBER_OF_BYTES_WRITE Bytes written by write operations.
COUNT_MISC Number of all miscellaneous operations not counted above, including CREATE, DELETE, OPEN, CLOSE, STREAM_OPEN, STREAM_CLOSE, SEEK, TELL, FLUSH, STAT, FSTAT, CHSIZE, RENAME, and SYNC.
SUM_TIMER_MISC Total wait time of all miscellaneous operations that are timed.
MIN_TIMER_MISC Minimum wait time of all miscellaneous operations that are timed.
AVG_TIMER_MISC Average wait time of all miscellaneous operations that are timed.
MAX_TIMER_MISC Maximum wait time of all miscellaneous operations that are timed.
...@@ -23,3 +23,35 @@ UNLOCK TABLES; ...@@ -23,3 +23,35 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.file_summary_by_instance WRITE; LOCK TABLES performance_schema.file_summary_by_instance WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_instance' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'file_summary_by_instance'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='file_summary_by_instance';
column_name column_comment
FILE_NAME File name.
EVENT_NAME Event name.
OBJECT_INSTANCE_BEGIN Address in memory. Together with FILE_NAME and EVENT_NAME uniquely identifies a row.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
COUNT_READ Number of all read operations, including FGETS, FGETC, FREAD, and READ.
SUM_TIMER_READ Total wait time of all read operations that are timed.
MIN_TIMER_READ Minimum wait time of all read operations that are timed.
AVG_TIMER_READ Average wait time of all read operations that are timed.
MAX_TIMER_READ Maximum wait time of all read operations that are timed.
SUM_NUMBER_OF_BYTES_READ Bytes read by read operations.
COUNT_WRITE Number of all write operations, including FPUTS, FPUTC, FPRINTF, VFPRINTF, FWRITE, and PWRITE.
SUM_TIMER_WRITE Total wait time of all write operations that are timed.
MIN_TIMER_WRITE Minimum wait time of all write operations that are timed.
AVG_TIMER_WRITE Average wait time of all write operations that are timed.
MAX_TIMER_WRITE Maximum wait time of all write operations that are timed.
SUM_NUMBER_OF_BYTES_WRITE Bytes written by write operations.
COUNT_MISC Number of all miscellaneous operations not counted above, including CREATE, DELETE, OPEN, CLOSE, STREAM_OPEN, STREAM_CLOSE, SEEK, TELL, FLUSH, STAT, FSTAT, CHSIZE, RENAME, and SYNC.
SUM_TIMER_MISC Total wait time of all miscellaneous operations that are timed.
MIN_TIMER_MISC Minimum wait time of all miscellaneous operations that are timed.
AVG_TIMER_MISC Average wait time of all miscellaneous operations that are timed.
MAX_TIMER_MISC Maximum wait time of all miscellaneous operations that are timed.
...@@ -25,3 +25,39 @@ UNLOCK TABLES; ...@@ -25,3 +25,39 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.host_cache WRITE; LOCK TABLES performance_schema.host_cache WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'host_cache' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'host_cache'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='host_cache';
column_name column_comment
IP Client IP address.
HOST IP's resolved DNS host name, or NULL if unknown.
HOST_VALIDATED YES if the IP-to-host DNS lookup was successful, and the HOST column can be used to avoid DNS calls, or NO if unsuccessful, in which case DNS lookup is performed for each connect until either successful or a permanent error.
SUM_CONNECT_ERRORS Number of connection errors. Counts only protocol handshake errors for hosts that passed validation. These errors count towards max_connect_errors.
COUNT_HOST_BLOCKED_ERRORS Number of blocked connections because SUM_CONNECT_ERRORS exceeded the max_connect_errors system variable.
COUNT_NAMEINFO_TRANSIENT_ERRORS Number of transient errors during IP-to-host DNS lookups.
COUNT_NAMEINFO_PERMANENT_ERRORS Number of permanent errors during IP-to-host DNS lookups.
COUNT_FORMAT_ERRORS Number of host name format errors, for example a numeric host column.
COUNT_ADDRINFO_TRANSIENT_ERRORS Number of transient errors during host-to-IP reverse DNS lookups.
COUNT_ADDRINFO_PERMANENT_ERRORS Number of permanent errors during host-to-IP reverse DNS lookups.
COUNT_FCRDNS_ERRORS Number of forward-confirmed reverse DNS errors, which occur when IP-to-host DNS lookup does not match the originating IP address.
COUNT_HOST_ACL_ERRORS Number of errors occurring because no user from the host is permitted to log in. These attempts return error code 1130 ER_HOST_NOT_PRIVILEGED and do not proceed to username and password authentication.
COUNT_NO_AUTH_PLUGIN_ERRORS Number of errors due to requesting an authentication plugin that was not available. This can be due to the plugin never having been loaded, or the load attempt failing.
COUNT_AUTH_PLUGIN_ERRORS Number of errors reported by an authentication plugin. Plugins can increment COUNT_AUTHENTICATION_ERRORS or COUNT_HANDSHAKE_ERRORS instead, but, if specified or the error is unknown, this column is incremented.
COUNT_HANDSHAKE_ERRORS Number of errors detected at the wire protocol level.
COUNT_PROXY_USER_ERRORS Number of errors detected when a proxy user is proxied to a user that does not exist.
COUNT_PROXY_USER_ACL_ERRORS Number of errors detected when a proxy user is proxied to a user that exists, but the proxy user doesn't have the PROXY privilege.
COUNT_AUTHENTICATION_ERRORS Number of errors where authentication failed.
COUNT_SSL_ERRORS Number of errors due to TLS problems.
COUNT_MAX_USER_CONNECTIONS_ERRORS Number of errors due to the per-user quota being exceeded.
COUNT_MAX_USER_CONNECTIONS_PER_HOUR_ERRORS Number of errors due to the per-hour quota being exceeded.
COUNT_DEFAULT_DATABASE_ERRORS Number of errors due to the user not having permission to access the specified default database, or it not existing.
COUNT_INIT_CONNECT_ERRORS Number of errors due to statements in the init_connect system variable.
COUNT_LOCAL_ERRORS Number of local server errors, such as out-of-memory errors, unrelated to network, authentication, or authorization.
COUNT_UNKNOWN_ERRORS Number of unknown errors that cannot be allocated to another column.
FIRST_SEEN Timestamp of the first connection attempt by the IP.
LAST_SEEN Timestamp of the most recent connection attempt by the IP.
FIRST_ERROR_SEEN Timestamp of the first error seen from the IP.
LAST_ERROR_SEEN Timestamp of the most recent error seen from the IP.
...@@ -23,3 +23,13 @@ UNLOCK TABLES; ...@@ -23,3 +23,13 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.hosts WRITE; LOCK TABLES performance_schema.hosts WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'hosts' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'hosts'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='hosts';
column_name column_comment
HOST Host name used by the client to connect, NULL for internal threads or user sessions that failed to authenticate.
CURRENT_CONNECTIONS Current number of the host's connections.
TOTAL_CONNECTIONS Total number of the host's connections
...@@ -24,3 +24,23 @@ UNLOCK TABLES; ...@@ -24,3 +24,23 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.memory_summary_by_account_by_event_name WRITE; 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' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_account_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='memory_summary_by_account_by_event_name';
column_name column_comment
USER User portion of the account.
HOST Host portion of the account.
EVENT_NAME Event name.
COUNT_ALLOC Total number of allocations to memory.
COUNT_FREE Total number of attempts to free the allocated memory.
SUM_NUMBER_OF_BYTES_ALLOC Total number of bytes allocated.
SUM_NUMBER_OF_BYTES_FREE Total number of bytes freed
LOW_COUNT_USED Lowest number of allocated blocks (lowest value of CURRENT_COUNT_USED).
CURRENT_COUNT_USED Currently allocated blocks that have not been freed (COUNT_ALLOC minus COUNT_FREE).
HIGH_COUNT_USED Highest number of allocated blocks (highest value of CURRENT_COUNT_USED).
LOW_NUMBER_OF_BYTES_USED Lowest number of bytes used.
CURRENT_NUMBER_OF_BYTES_USED Current number of bytes used (total allocated minus total freed).
HIGH_NUMBER_OF_BYTES_USED Highest number of bytes used.
...@@ -24,3 +24,22 @@ UNLOCK TABLES; ...@@ -24,3 +24,22 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.memory_summary_by_host_by_event_name WRITE; 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' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_host_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='memory_summary_by_host_by_event_name';
column_name column_comment
HOST Host portion of the account.
EVENT_NAME Event name.
COUNT_ALLOC Total number of allocations to memory.
COUNT_FREE Total number of attempts to free the allocated memory.
SUM_NUMBER_OF_BYTES_ALLOC Total number of bytes allocated.
SUM_NUMBER_OF_BYTES_FREE Total number of bytes freed
LOW_COUNT_USED Lowest number of allocated blocks (lowest value of CURRENT_COUNT_USED).
CURRENT_COUNT_USED Currently allocated blocks that have not been freed (COUNT_ALLOC minus COUNT_FREE).
HIGH_COUNT_USED Highest number of allocated blocks (highest value of CURRENT_COUNT_USED).
LOW_NUMBER_OF_BYTES_USED Lowest number of bytes used.
CURRENT_NUMBER_OF_BYTES_USED Current number of bytes used (total allocated minus total freed).
HIGH_NUMBER_OF_BYTES_USED Highest number of bytes used.
...@@ -24,3 +24,22 @@ UNLOCK TABLES; ...@@ -24,3 +24,22 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.memory_summary_by_user_by_event_name WRITE; 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' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_by_user_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='memory_summary_by_user_by_event_name';
column_name column_comment
USER User portion of the account.
EVENT_NAME Event name.
COUNT_ALLOC Total number of allocations to memory.
COUNT_FREE Total number of attempts to free the allocated memory.
SUM_NUMBER_OF_BYTES_ALLOC Total number of bytes allocated.
SUM_NUMBER_OF_BYTES_FREE Total number of bytes freed
LOW_COUNT_USED Lowest number of allocated blocks (lowest value of CURRENT_COUNT_USED).
CURRENT_COUNT_USED Currently allocated blocks that have not been freed (COUNT_ALLOC minus COUNT_FREE).
HIGH_COUNT_USED Highest number of allocated blocks (highest value of CURRENT_COUNT_USED).
LOW_NUMBER_OF_BYTES_USED Lowest number of bytes used.
CURRENT_NUMBER_OF_BYTES_USED Current number of bytes used (total allocated minus total freed).
HIGH_NUMBER_OF_BYTES_USED Highest number of bytes used.
...@@ -24,3 +24,21 @@ UNLOCK TABLES; ...@@ -24,3 +24,21 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.memory_summary_global_by_event_name WRITE; 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' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'memory_summary_global_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='memory_summary_global_by_event_name';
column_name column_comment
EVENT_NAME Event name.
COUNT_ALLOC Total number of allocations to memory.
COUNT_FREE Total number of attempts to free the allocated memory.
SUM_NUMBER_OF_BYTES_ALLOC Total number of bytes allocated.
SUM_NUMBER_OF_BYTES_FREE Total number of bytes freed
LOW_COUNT_USED Lowest number of allocated blocks (lowest value of CURRENT_COUNT_USED).
CURRENT_COUNT_USED Currently allocated blocks that have not been freed (COUNT_ALLOC minus COUNT_FREE).
HIGH_COUNT_USED Highest number of allocated blocks (highest value of CURRENT_COUNT_USED).
LOW_NUMBER_OF_BYTES_USED Lowest number of bytes used.
CURRENT_NUMBER_OF_BYTES_USED Current number of bytes used (total allocated minus total freed).
HIGH_NUMBER_OF_BYTES_USED Highest number of bytes used.
...@@ -19,3 +19,20 @@ UNLOCK TABLES; ...@@ -19,3 +19,20 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.metadata_locks WRITE; LOCK TABLES performance_schema.metadata_locks WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'metadata_locks' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'metadata_locks'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='metadata_locks';
column_name column_comment
OBJECT_TYPE Object type. One of BACKUP, COMMIT, EVENT, FUNCTION, GLOBAL, LOCKING SERVICE, PROCEDURE, SCHEMA, TABLE, TABLESPACE, TRIGGER (unused) or USER LEVEL LOCK.
OBJECT_SCHEMA Object schema.
OBJECT_NAME Object name.
OBJECT_INSTANCE_BEGIN Address in memory of the instrumented object.
LOCK_TYPE Lock type. One of BACKUP_FTWRL1, BACKUP_START, BACKUP_TRANS_DML, EXCLUSIVE, INTENTION_EXCLUSIVE, SHARED, SHARED_HIGH_PRIO, SHARED_NO_READ_WRITE, SHARED_NO_WRITE, SHARED_READ, SHARED_UPGRADABLE or SHARED_WRITE.
LOCK_DURATION Lock duration. One of EXPLICIT (locks released by explicit action, for example a global lock acquired with FLUSH TABLES WITH READ LOCK) , STATEMENT (locks implicitly released at statement end) or TRANSACTION (locks implicitly released at transaction end).
LOCK_STATUS Lock status. One of GRANTED, KILLED, PENDING, POST_RELEASE_NOTIFY, PRE_ACQUIRE_NOTIFY, TIMEOUT or VICTIM.
SOURCE Source file containing the instrumented code that produced the event, as well as the line number where the instrumentation occurred. This allows one to examine the source code involved.
OWNER_THREAD_ID Thread that requested the lock.
OWNER_EVENT_ID Event that requested the lock.
...@@ -18,3 +18,13 @@ UNLOCK TABLES; ...@@ -18,3 +18,13 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.mutex_instances WRITE; LOCK TABLES performance_schema.mutex_instances WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'mutex_instances' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'mutex_instances'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='mutex_instances';
column_name column_comment
NAME Instrument name associated with the mutex.
OBJECT_INSTANCE_BEGIN Memory address of the instrumented mutex.
LOCKED_BY_THREAD_ID The THREAD_ID of the locking thread if a thread has a mutex locked, otherwise NULL.
...@@ -43,3 +43,18 @@ UNLOCK TABLES; ...@@ -43,3 +43,18 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.objects_summary_global_by_type WRITE; LOCK TABLES performance_schema.objects_summary_global_by_type WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'objects_summary_global_by_type' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'objects_summary_global_by_type'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='objects_summary_global_by_type';
column_name column_comment
OBJECT_TYPE Groups records together with OBJECT_SCHEMA and OBJECT_NAME.
OBJECT_SCHEMA Groups records together with OBJECT_TYPE and OBJECT_NAME.
OBJECT_NAME Groups records together with OBJECT_SCHEMA and OBJECT_TYPE.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
...@@ -27,3 +27,14 @@ UNLOCK TABLES; ...@@ -27,3 +27,14 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.performance_timers WRITE; LOCK TABLES performance_schema.performance_timers WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'performance_timers' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'performance_timers'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='performance_timers';
column_name column_comment
TIMER_NAME Time name, used in the setup_timers table.
TIMER_FREQUENCY Number of timer units per second. Dependent on the processor speed.
TIMER_RESOLUTION Number of timer units by which timed values increase each time.
TIMER_OVERHEAD Minimum timer overhead, determined during initialization by calling the timer 20 times and selecting the smallest value. Total overhead will be at least double this, as the timer is called at the beginning and end of each timed event.
...@@ -23,3 +23,19 @@ UNLOCK TABLES; ...@@ -23,3 +23,19 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.replication_applier_status_by_worker WRITE; 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' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'replication_applier_status_by_worker'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='replication_applier_status_by_worker';
column_name column_comment
CHANNEL_NAME Name of replication channel through which the transaction is received.
THREAD_ID Thread_Id as displayed in the performance_schema.threads table for thread with name 'thread/sql/rpl_parallel_thread'. THREAD_ID will be NULL when worker threads are stopped due to error/force stop.
SERVICE_STATE Whether or not the thread is running.
LAST_SEEN_TRANSACTION Last GTID executed by worker
LAST_ERROR_NUMBER Last Error that occurred on a particular worker.
LAST_ERROR_MESSAGE Last error specific message.
LAST_ERROR_TIMESTAMP Time stamp of last error.
WORKER_IDLE_TIME Total idle time in seconds that the worker thread has spent waiting for work from SQL thread.
LAST_TRANS_RETRY_COUNT Total number of retries attempted by last transaction.
...@@ -18,3 +18,14 @@ UNLOCK TABLES; ...@@ -18,3 +18,14 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.rwlock_instances WRITE; LOCK TABLES performance_schema.rwlock_instances WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'rwlock_instances' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'rwlock_instances'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='rwlock_instances';
column_name column_comment
NAME Instrument name associated with the read write lock
OBJECT_INSTANCE_BEGIN Address in memory of the instrumented lock
WRITE_LOCKED_BY_THREAD_ID THREAD_ID of the locking thread if locked in write (exclusive) mode, otherwise NULL.
READ_LOCKED_BY_COUNT Count of current read locks held
...@@ -23,3 +23,14 @@ UNLOCK TABLES; ...@@ -23,3 +23,14 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.session_account_connect_attrs WRITE; LOCK TABLES performance_schema.session_account_connect_attrs WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_account_connect_attrs' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_account_connect_attrs'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='session_account_connect_attrs';
column_name column_comment
PROCESSLIST_ID Session connection identifier.
ATTR_NAME Attribute name.
ATTR_VALUE Attribute value.
ORDINAL_POSITION Order in which attribute was added to the connection attributes.
...@@ -23,3 +23,14 @@ UNLOCK TABLES; ...@@ -23,3 +23,14 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.session_connect_attrs WRITE; LOCK TABLES performance_schema.session_connect_attrs WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_connect_attrs' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'session_connect_attrs'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='session_connect_attrs';
column_name column_comment
PROCESSLIST_ID Session connection identifier.
ATTR_NAME Attribute name.
ATTR_VALUE Attribute value.
ORDINAL_POSITION Order in which attribute was added to the connection attributes.
...@@ -102,3 +102,15 @@ truncate table performance_schema.setup_actors; ...@@ -102,3 +102,15 @@ truncate table performance_schema.setup_actors;
insert into performance_schema.setup_actors insert into performance_schema.setup_actors
select * from test.setup_actors; select * from test.setup_actors;
drop table test.setup_actors; drop table test.setup_actors;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='setup_actors';
column_name column_comment
HOST Host name, either a literal, or the % wildcard representing any host.
USER User name, either a literal or the % wildcard representing any name.
ROLE Unused
ENABLED Whether to enable instrumentation for foreground threads matched by the row.
HISTORY Whether to log historical events for foreground threads matched by the row.
...@@ -57,3 +57,12 @@ LOCK TABLES performance_schema.setup_consumers READ; ...@@ -57,3 +57,12 @@ LOCK TABLES performance_schema.setup_consumers READ;
UNLOCK TABLES; UNLOCK TABLES;
LOCK TABLES performance_schema.setup_consumers WRITE; LOCK TABLES performance_schema.setup_consumers WRITE;
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='setup_consumers';
column_name column_comment
NAME Consumer name
ENABLED YES or NO for whether or not the consumer is enabled. You can modify this column to ensure that event information is added, or is not added.
...@@ -85,3 +85,13 @@ UPDATE performance_schema.setup_instruments SET timed='NO' ...@@ -85,3 +85,13 @@ UPDATE performance_schema.setup_instruments SET timed='NO'
ORDER BY RAND(); ORDER BY RAND();
update performance_schema.setup_instruments update performance_schema.setup_instruments
set enabled='YES', TIMED='YES'; set enabled='YES', TIMED='YES';
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='setup_instruments';
column_name column_comment
NAME Instrument name
ENABLED Whether or not the instrument is enabled. It can be disabled, and the instrument will produce no events.
TIMED Whether or not the instrument is timed. It can be set, but if disabled, events produced by the instrument will have NULL values for the corresponding TIMER_START, TIMER_END, and TIMER_WAIT values.
...@@ -70,3 +70,15 @@ insert into performance_schema.setup_objects ...@@ -70,3 +70,15 @@ insert into performance_schema.setup_objects
select * from test.setup_objects; select * from test.setup_objects;
drop table test.setup_objects; drop table test.setup_objects;
SET sql_mode = default; SET sql_mode = default;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='setup_objects';
column_name column_comment
OBJECT_TYPE Type of object to instrument.
OBJECT_SCHEMA Schema containing the object, either the literal or % for any schema.
OBJECT_NAME Name of the instrumented object, either the literal or % for any object.
ENABLED Whether the object's events are instrumented or not. Can be disabled, in which case monitoring is not enabled for those objects.
TIMED Whether the object's events are timed or not. Can be modified.
...@@ -100,3 +100,12 @@ statement NANOSECOND ...@@ -100,3 +100,12 @@ statement NANOSECOND
transaction MICROSECOND transaction MICROSECOND
Warnings: Warnings:
Warning 1681 'performance_schema.setup_timers' is deprecated and will be removed in a future release Warning 1681 'performance_schema.setup_timers' is deprecated and will be removed in a future release
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='setup_timers';
column_name column_comment
NAME Type of instrument the timer is used for.
TIMER_NAME Timer applying to the instrument type. Can be modified.
...@@ -18,3 +18,17 @@ UNLOCK TABLES; ...@@ -18,3 +18,17 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.socket_instances WRITE; LOCK TABLES performance_schema.socket_instances WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_instances' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_instances'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='socket_instances';
column_name column_comment
EVENT_NAME NAME from the setup_instruments table, and the name of the wait/io/socket/* instrument that produced the event.
OBJECT_INSTANCE_BEGIN Memory address of the object.
THREAD_ID Thread identifier that the server assigns to each socket.
SOCKET_ID The socket's internal file handle.
IP Client IP address. Blank for Unix socket file, otherwise an IPv4 or IPv6 address. Together with the PORT identifies the connection.
PORT TCP/IP port number, from 0 to 65535. Together with the IP identifies the connection.
STATE Socket status, either IDLE if waiting to receive a request from a client, or ACTIVE
...@@ -24,3 +24,33 @@ UNLOCK TABLES; ...@@ -24,3 +24,33 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.socket_summary_by_event_name WRITE; LOCK TABLES performance_schema.socket_summary_by_event_name WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_summary_by_event_name' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_summary_by_event_name'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='socket_summary_by_event_name';
column_name column_comment
EVENT_NAME Socket instrument.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
COUNT_READ Number of all read operations, including RECV, RECVFROM, and RECVMSG.
SUM_TIMER_READ Total wait time of all read operations that are timed.
MIN_TIMER_READ Minimum wait time of all read operations that are timed.
AVG_TIMER_READ Average wait time of all read operations that are timed.
MAX_TIMER_READ Maximum wait time of all read operations that are timed.
SUM_NUMBER_OF_BYTES_READ Bytes read by read operations.
COUNT_WRITE Number of all write operations, including SEND, SENDTO, and SENDMSG.
SUM_TIMER_WRITE Total wait time of all write operations that are timed.
MIN_TIMER_WRITE Minimum wait time of all write operations that are timed.
AVG_TIMER_WRITE Average wait time of all write operations that are timed.
MAX_TIMER_WRITE Maximum wait time of all write operations that are timed.
SUM_NUMBER_OF_BYTES_WRITE Bytes written by write operations.
COUNT_MISC Number of all miscellaneous operations not counted above, including CONNECT, LISTEN, ACCEPT, CLOSE, and SHUTDOWN.
SUM_TIMER_MISC Total wait time of all miscellaneous operations that are timed.
MIN_TIMER_MISC Minimum wait time of all miscellaneous operations that are timed.
AVG_TIMER_MISC Average wait time of all miscellaneous operations that are timed.
MAX_TIMER_MISC Maximum wait time of all miscellaneous operations that are timed.
...@@ -24,3 +24,34 @@ UNLOCK TABLES; ...@@ -24,3 +24,34 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.socket_summary_by_instance WRITE; LOCK TABLES performance_schema.socket_summary_by_instance WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_summary_by_instance' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'socket_summary_by_instance'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='socket_summary_by_instance';
column_name column_comment
EVENT_NAME Socket instrument.
OBJECT_INSTANCE_BEGIN Address in memory.
COUNT_STAR Number of summarized events
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
COUNT_READ Number of all read operations, including RECV, RECVFROM, and RECVMSG.
SUM_TIMER_READ Total wait time of all read operations that are timed.
MIN_TIMER_READ Minimum wait time of all read operations that are timed.
AVG_TIMER_READ Average wait time of all read operations that are timed.
MAX_TIMER_READ Maximum wait time of all read operations that are timed.
SUM_NUMBER_OF_BYTES_READ Bytes read by read operations.
COUNT_WRITE Number of all write operations, including SEND, SENDTO, and SENDMSG.
SUM_TIMER_WRITE Total wait time of all write operations that are timed.
MIN_TIMER_WRITE Minimum wait time of all write operations that are timed.
AVG_TIMER_WRITE Average wait time of all write operations that are timed.
MAX_TIMER_WRITE Maximum wait time of all write operations that are timed.
SUM_NUMBER_OF_BYTES_WRITE Bytes written by write operations.
COUNT_MISC Number of all miscellaneous operations not counted above, including CONNECT, LISTEN, ACCEPT, CLOSE, and SHUTDOWN.
SUM_TIMER_MISC Total wait time of all miscellaneous operations that are timed.
MIN_TIMER_MISC Minimum wait time of all miscellaneous operations that are timed.
AVG_TIMER_MISC Average wait time of all miscellaneous operations that are timed.
MAX_TIMER_MISC Maximum wait time of all miscellaneous operations that are timed.
...@@ -32,3 +32,27 @@ LOCK TABLES performance_schema.threads READ; ...@@ -32,3 +32,27 @@ LOCK TABLES performance_schema.threads READ;
UNLOCK TABLES; UNLOCK TABLES;
LOCK TABLES performance_schema.threads WRITE; LOCK TABLES performance_schema.threads WRITE;
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='threads';
column_name column_comment
THREAD_ID A unique thread identifier.
NAME Name associated with the server's thread instrumentation code, for example thread/sql/main for the server's main() function, and thread/sql/one_connection for a user connection.
TYPE FOREGROUND or BACKGROUND, depending on the thread type. User connection threads are FOREGROUND, internal server threads are BACKGROUND.
PROCESSLIST_ID The PROCESSLIST.ID value for threads displayed in the INFORMATION_SCHEMA.PROCESSLIST table, or 0 for background threads. Also corresponds with the CONNECTION_ID() return value for the thread.
PROCESSLIST_USER Foreground thread user, or NULL for a background thread.
PROCESSLIST_HOST Foreground thread host, or NULL for a background thread.
PROCESSLIST_DB Thread's default database, or NULL if none exists.
PROCESSLIST_COMMAND Type of command executed by the thread. These correspond to the the COM_xxx client/server protocol commands, and the Com_xxx status variables. See Thread Command Values.
PROCESSLIST_TIME Time in seconds the thread has been in its current state.
PROCESSLIST_STATE Action, event or state indicating what the thread is doing.
PROCESSLIST_INFO Statement being executed by the thread, or NULL if a statement is not being executed. If a statement results in calling other statements, such as for a stored procedure, the innermost statement from the stored procedure is shown here.
PARENT_THREAD_ID THREAD_ID of the parent thread, if any. Subthreads can for example be spawned as a result of INSERT DELAYED statements.
ROLE Unused.
INSTRUMENTED YES or NO for Whether the thread is instrumented or not. For foreground threads, the initial value is determined by whether there's a user/host match in the setup_actors table. Subthreads are again matched, while for background threads, this will be set to YES by default. To monitor events that the thread executes, INSTRUMENTED must be YES and the thread_instrumentation consumer in the setup_consumers table must also be YES.
HISTORY Whether to log historical events for the thread.
CONNECTION_TYPE The protocol used to establish the connection, or NULL for background threads.
THREAD_OS_ID The thread or task identifier as defined by the underlying operating system, if there is one.
...@@ -24,3 +24,49 @@ UNLOCK TABLES; ...@@ -24,3 +24,49 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.table_io_waits_summary_by_index_usage WRITE; LOCK TABLES performance_schema.table_io_waits_summary_by_index_usage WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_index_usage' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_index_usage'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='table_io_waits_summary_by_index_usage';
column_name column_comment
OBJECT_TYPE TABLE in the case of all indexes.
OBJECT_SCHEMA Schema name.
OBJECT_NAME Table name.
INDEX_NAME Index name, or PRIMARY for the primary index, NULL for no index (inserts are counted in this case).
COUNT_STAR Number of summarized events and the sum of the x_READ and x_WRITE columns.
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
COUNT_READ Number of all read operations, and the sum of the equivalent x_FETCH columns.
SUM_TIMER_READ Total wait time of all read operations that are timed.
MIN_TIMER_READ Minimum wait time of all read operations that are timed.
AVG_TIMER_READ Average wait time of all read operations that are timed.
MAX_TIMER_READ Maximum wait time of all read operations that are timed.
COUNT_WRITE Number of all write operations, and the sum of the equivalent x_INSERT, x_UPDATE and x_DELETE columns.
SUM_TIMER_WRITE Total wait time of all write operations that are timed.
MIN_TIMER_WRITE Minimum wait time of all write operations that are timed.
AVG_TIMER_WRITE Average wait time of all write operations that are timed.
MAX_TIMER_WRITE Maximum wait time of all write operations that are timed.
COUNT_FETCH Number of all fetch operations.
SUM_TIMER_FETCH Total wait time of all fetch operations that are timed.
MIN_TIMER_FETCH Minimum wait time of all fetch operations that are timed.
AVG_TIMER_FETCH Average wait time of all fetch operations that are timed.
MAX_TIMER_FETCH Maximum wait time of all fetch operations that are timed.
COUNT_INSERT Number of all insert operations.
SUM_TIMER_INSERT Total wait time of all insert operations that are timed.
MIN_TIMER_INSERT Minimum wait time of all insert operations that are timed.
AVG_TIMER_INSERT Average wait time of all insert operations that are timed.
MAX_TIMER_INSERT Maximum wait time of all insert operations that are timed.
COUNT_UPDATE Number of all update operations.
SUM_TIMER_UPDATE Total wait time of all update operations that are timed.
MIN_TIMER_UPDATE Minimum wait time of all update operations that are timed.
AVG_TIMER_UPDATE Average wait time of all update operations that are timed.
MAX_TIMER_UPDATE Maximum wait time of all update operations that are timed.
COUNT_DELETE Number of all delete operations.
SUM_TIMER_DELETE Total wait time of all delete operations that are timed.
MIN_TIMER_DELETE Minimum wait time of all delete operations that are timed.
AVG_TIMER_DELETE Average wait time of all delete operations that are timed.
MAX_TIMER_DELETE Maximum wait time of all delete operations that are timed.
...@@ -24,3 +24,48 @@ UNLOCK TABLES; ...@@ -24,3 +24,48 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.table_io_waits_summary_by_table WRITE; LOCK TABLES performance_schema.table_io_waits_summary_by_table WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_table' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_io_waits_summary_by_table'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='table_io_waits_summary_by_table';
column_name column_comment
OBJECT_TYPE Since this table records waits by table, always set to TABLE.
OBJECT_SCHEMA Schema name.
OBJECT_NAME Table name.
COUNT_STAR Number of summarized events and the sum of the x_READ and x_WRITE columns.
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
COUNT_READ Number of all read operations, and the sum of the equivalent x_FETCH columns.
SUM_TIMER_READ Total wait time of all read operations that are timed.
MIN_TIMER_READ Minimum wait time of all read operations that are timed.
AVG_TIMER_READ Average wait time of all read operations that are timed.
MAX_TIMER_READ Maximum wait time of all read operations that are timed.
COUNT_WRITE Number of all write operations, and the sum of the equivalent x_INSERT, x_UPDATE and x_DELETE columns.
SUM_TIMER_WRITE Total wait time of all write operations that are timed.
MIN_TIMER_WRITE Minimum wait time of all write operations that are timed.
AVG_TIMER_WRITE Average wait time of all write operations that are timed.
MAX_TIMER_WRITE Maximum wait time of all write operations that are timed.
COUNT_FETCH Number of all fetch operations.
SUM_TIMER_FETCH Total wait time of all fetch operations that are timed.
MIN_TIMER_FETCH Minimum wait time of all fetch operations that are timed.
AVG_TIMER_FETCH Average wait time of all fetch operations that are timed.
MAX_TIMER_FETCH Maximum wait time of all fetch operations that are timed.
COUNT_INSERT Number of all insert operations.
SUM_TIMER_INSERT Total wait time of all insert operations that are timed.
MIN_TIMER_INSERT Minimum wait time of all insert operations that are timed.
AVG_TIMER_INSERT Average wait time of all insert operations that are timed.
MAX_TIMER_INSERT Maximum wait time of all insert operations that are timed.
COUNT_UPDATE Number of all update operations.
SUM_TIMER_UPDATE Total wait time of all update operations that are timed.
MIN_TIMER_UPDATE Minimum wait time of all update operations that are timed.
AVG_TIMER_UPDATE Average wait time of all update operations that are timed.
MAX_TIMER_UPDATE Maximum wait time of all update operations that are timed.
COUNT_DELETE Number of all delete operations.
SUM_TIMER_DELETE Total wait time of all delete operations that are timed.
MIN_TIMER_DELETE Minimum wait time of all delete operations that are timed.
AVG_TIMER_DELETE Average wait time of all delete operations that are timed.
MAX_TIMER_DELETE Maximum wait time of all delete operations that are timed.
...@@ -24,3 +24,83 @@ UNLOCK TABLES; ...@@ -24,3 +24,83 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.table_lock_waits_summary_by_table WRITE; LOCK TABLES performance_schema.table_lock_waits_summary_by_table WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_lock_waits_summary_by_table' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'table_lock_waits_summary_by_table'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='table_lock_waits_summary_by_table';
column_name column_comment
OBJECT_TYPE Since this table records waits by table, always set to TABLE.
OBJECT_SCHEMA Schema name.
OBJECT_NAME Table name.
COUNT_STAR Number of summarized events and the sum of the x_READ and x_WRITE columns.
SUM_TIMER_WAIT Total wait time of the summarized events that are timed.
MIN_TIMER_WAIT Minimum wait time of the summarized events that are timed.
AVG_TIMER_WAIT Average wait time of the summarized events that are timed.
MAX_TIMER_WAIT Maximum wait time of the summarized events that are timed.
COUNT_READ Number of all read operations, and the sum of the equivalent x_READ_NORMAL, x_READ_WITH_SHARED_LOCKS, x_READ_HIGH_PRIORITY and x_READ_NO_INSERT columns.
SUM_TIMER_READ Total wait time of all read operations that are timed.
MIN_TIMER_READ Minimum wait time of all read operations that are timed.
AVG_TIMER_READ Average wait time of all read operations that are timed.
MAX_TIMER_READ Maximum wait time of all read operations that are timed.
COUNT_WRITE Number of all write operations, and the sum of the equivalent x_WRITE_ALLOW_WRITE, x_WRITE_CONCURRENT_INSERT, x_WRITE_DELAYED, x_WRITE_LOW_PRIORITY and x_WRITE_NORMAL columns.
SUM_TIMER_WRITE Total wait time of all write operations that are timed.
MIN_TIMER_WRITE Minimum wait time of all write operations that are timed.
AVG_TIMER_WRITE Average wait time of all write operations that are timed.
MAX_TIMER_WRITE Maximum wait time of all write operations that are timed.
COUNT_READ_NORMAL Number of all internal read normal locks.
SUM_TIMER_READ_NORMAL Total wait time of all internal read normal locks that are timed.
MIN_TIMER_READ_NORMAL Minimum wait time of all internal read normal locks that are timed.
AVG_TIMER_READ_NORMAL Average wait time of all internal read normal locks that are timed.
MAX_TIMER_READ_NORMAL Maximum wait time of all internal read normal locks that are timed.
COUNT_READ_WITH_SHARED_LOCKS Number of all internal read with shared locks.
SUM_TIMER_READ_WITH_SHARED_LOCKS Total wait time of all internal read with shared locks that are timed.
MIN_TIMER_READ_WITH_SHARED_LOCKS Minimum wait time of all internal read with shared locks that are timed.
AVG_TIMER_READ_WITH_SHARED_LOCKS Average wait time of all internal read with shared locks that are timed.
MAX_TIMER_READ_WITH_SHARED_LOCKS Maximum wait time of all internal read with shared locks that are timed.
COUNT_READ_HIGH_PRIORITY Number of all internal read high priority locks.
SUM_TIMER_READ_HIGH_PRIORITY Total wait time of all internal read high priority locks that are timed.
MIN_TIMER_READ_HIGH_PRIORITY Minimum wait time of all internal read high priority locks that are timed.
AVG_TIMER_READ_HIGH_PRIORITY Average wait time of all internal read high priority locks that are timed.
MAX_TIMER_READ_HIGH_PRIORITY Maximum wait time of all internal read high priority locks that are timed.
COUNT_READ_NO_INSERT Number of all internal read no insert locks.
SUM_TIMER_READ_NO_INSERT Total wait time of all internal read no insert locks that are timed.
MIN_TIMER_READ_NO_INSERT Minimum wait time of all internal read no insert locks that are timed.
AVG_TIMER_READ_NO_INSERT Average wait time of all internal read no insert locks that are timed.
MAX_TIMER_READ_NO_INSERT Maximum wait time of all internal read no insert locks that are timed.
COUNT_READ_EXTERNAL Number of all external read locks.
SUM_TIMER_READ_EXTERNAL Total wait time of all external read locks that are timed.
MIN_TIMER_READ_EXTERNAL Minimum wait time of all external read locks that are timed.
AVG_TIMER_READ_EXTERNAL Average wait time of all external read locks that are timed.
MAX_TIMER_READ_EXTERNAL Maximum wait time of all external read locks that are timed.
COUNT_WRITE_ALLOW_WRITE Number of all internal read normal locks.
SUM_TIMER_WRITE_ALLOW_WRITE Total wait time of all internal write allow write locks that are timed.
MIN_TIMER_WRITE_ALLOW_WRITE Minimum wait time of all internal write allow write locks that are timed.
AVG_TIMER_WRITE_ALLOW_WRITE Average wait time of all internal write allow write locks that are timed.
MAX_TIMER_WRITE_ALLOW_WRITE Maximum wait time of all internal write allow write locks that are timed.
COUNT_WRITE_CONCURRENT_INSERT Number of all internal concurrent insert write locks.
SUM_TIMER_WRITE_CONCURRENT_INSERT Total wait time of all internal concurrent insert write locks that are timed.
MIN_TIMER_WRITE_CONCURRENT_INSERT Minimum wait time of all internal concurrent insert write locks that are timed.
AVG_TIMER_WRITE_CONCURRENT_INSERT Average wait time of all internal concurrent insert write locks that are timed.
MAX_TIMER_WRITE_CONCURRENT_INSERT Maximum wait time of all internal concurrent insert write locks that are timed.
COUNT_WRITE_DELAYED Number of all internal write delayed locks.
SUM_TIMER_WRITE_DELAYED Total wait time of all internal write delayed locks that are timed.
MIN_TIMER_WRITE_DELAYED Minimum wait time of all internal write delayed locks that are timed.
AVG_TIMER_WRITE_DELAYED Average wait time of all internal write delayed locks that are timed.
MAX_TIMER_WRITE_DELAYED Maximum wait time of all internal write delayed locks that are timed.
COUNT_WRITE_LOW_PRIORITY Number of all internal write low priority locks.
SUM_TIMER_WRITE_LOW_PRIORITY Total wait time of all internal write low priority locks that are timed.
MIN_TIMER_WRITE_LOW_PRIORITY Minimum wait time of all internal write low priority locks that are timed.
AVG_TIMER_WRITE_LOW_PRIORITY Average wait time of all internal write low priority locks that are timed.
MAX_TIMER_WRITE_LOW_PRIORITY Maximum wait time of all internal write low priority locks that are timed.
COUNT_WRITE_NORMAL Number of all internal write normal locks.
SUM_TIMER_WRITE_NORMAL Total wait time of all internal write normal locks that are timed.
MIN_TIMER_WRITE_NORMAL Minimum wait time of all internal write normal locks that are timed.
AVG_TIMER_WRITE_NORMAL Average wait time of all internal write normal locks that are timed.
MAX_TIMER_WRITE_NORMAL Maximum wait time of all internal write normal locks that are timed.
COUNT_WRITE_EXTERNAL Number of all external write locks.
SUM_TIMER_WRITE_EXTERNAL Total wait time of all external write locks that are timed.
MIN_TIMER_WRITE_EXTERNAL Minimum wait time of all external write locks that are timed.
AVG_TIMER_WRITE_EXTERNAL Average wait time of all external write locks that are timed.
MAX_TIMER_WRITE_EXTERNAL Maximum wait time of all external write locks that are timed.
...@@ -23,3 +23,13 @@ UNLOCK TABLES; ...@@ -23,3 +23,13 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.users WRITE; LOCK TABLES performance_schema.users WRITE;
ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'users' ERROR 42000: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'users'
UNLOCK TABLES; UNLOCK TABLES;
#
# MDEV-25325 column_comment for performance_schema tables
#
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='users';
column_name column_comment
USER The connection's client user name for the connection, or NULL if an internal thread.
CURRENT_CONNECTIONS Current connections for the user.
TOTAL_CONNECTIONS Total connections for the user.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -201,28 +201,23 @@ SET sr.acct = sr.a1 + sr.a2 + sr.a3; ...@@ -201,28 +201,23 @@ SET sr.acct = sr.a1 + sr.a2 + sr.a3;
# Review per-thread status counts # Review per-thread status counts
# #
USE performance_schema; 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 # 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'); SELECT *, IF (variable_value = 1,'OK','ERROR') AS Expected FROM status_by_thread WHERE thread_id = @con1_id AND variable_name IN ('handler_delete', 'handler_rollback');
THREAD_ID VARIABLE_NAME VARIABLE_VALUE Expected THREAD_ID VARIABLE_NAME VARIABLE_VALUE Expected
connect_1 Handler_delete 1 OK con_1 Handler_delete 1 OK
con_1 Handler_rollback 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'); SELECT *, IF (variable_value = 2,'OK','ERROR') AS Expected FROM status_by_thread WHERE thread_id = @con2_id AND variable_name IN ('handler_delete', 'handler_rollback');
THREAD_ID VARIABLE_NAME VARIABLE_VALUE Expected THREAD_ID VARIABLE_NAME VARIABLE_VALUE Expected
connnect_2 Handler_delete 2 OK con_2 Handler_delete 2 OK
con_2 Handler_rollback 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'); SELECT *, IF (variable_value = 3,'OK','ERROR') AS Expected FROM status_by_thread WHERE thread_id = @con3_id AND variable_name IN ('handler_delete', 'handler_rollback');
THREAD_ID VARIABLE_NAME VARIABLE_VALUE Expected THREAD_ID VARIABLE_NAME VARIABLE_VALUE Expected
connnect_3 Handler_delete 3 OK con_3 Handler_delete 3 OK
con_3 Handler_rollback 3 OK
# #
# STATUS_BY_THREAD vs. GLOBAL_STATUS # STATUS_BY_THREAD vs. GLOBAL_STATUS
# #
......
...@@ -39,3 +39,9 @@ UNLOCK TABLES; ...@@ -39,3 +39,9 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.accounts WRITE; LOCK TABLES performance_schema.accounts WRITE;
UNLOCK TABLES; UNLOCK TABLES;
--echo #
--echo # MDEV-25325 column_comment for performance_schema tables
--echo #
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='accounts';
...@@ -33,3 +33,9 @@ UNLOCK TABLES; ...@@ -33,3 +33,9 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.cond_instances WRITE; LOCK TABLES performance_schema.cond_instances WRITE;
UNLOCK TABLES; UNLOCK TABLES;
--echo #
--echo # MDEV-25325 column_comment for performance_schema tables
--echo #
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='cond_instances';
...@@ -40,3 +40,9 @@ UNLOCK TABLES; ...@@ -40,3 +40,9 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_summary_by_account_by_event_name WRITE; LOCK TABLES performance_schema.events_stages_summary_by_account_by_event_name WRITE;
UNLOCK TABLES; UNLOCK TABLES;
--echo #
--echo # MDEV-25325 column_comment for performance_schema tables
--echo #
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_summary_by_account_by_event_name';
...@@ -40,3 +40,9 @@ UNLOCK TABLES; ...@@ -40,3 +40,9 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_summary_by_host_by_event_name WRITE; LOCK TABLES performance_schema.events_stages_summary_by_host_by_event_name WRITE;
UNLOCK TABLES; UNLOCK TABLES;
--echo #
--echo # MDEV-25325 column_comment for performance_schema tables
--echo #
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_summary_by_host_by_event_name';
...@@ -40,3 +40,9 @@ UNLOCK TABLES; ...@@ -40,3 +40,9 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_summary_by_thread_by_event_name WRITE; LOCK TABLES performance_schema.events_stages_summary_by_thread_by_event_name WRITE;
UNLOCK TABLES; UNLOCK TABLES;
--echo #
--echo # MDEV-25325 column_comment for performance_schema tables
--echo #
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_summary_by_thread_by_event_name';
...@@ -40,3 +40,9 @@ UNLOCK TABLES; ...@@ -40,3 +40,9 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_summary_by_user_by_event_name WRITE; LOCK TABLES performance_schema.events_stages_summary_by_user_by_event_name WRITE;
UNLOCK TABLES; UNLOCK TABLES;
--echo #
--echo # MDEV-25325 column_comment for performance_schema tables
--echo #
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_summary_by_user_by_event_name';
...@@ -39,3 +39,9 @@ UNLOCK TABLES; ...@@ -39,3 +39,9 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_stages_summary_global_by_event_name WRITE; LOCK TABLES performance_schema.events_stages_summary_global_by_event_name WRITE;
UNLOCK TABLES; UNLOCK TABLES;
--echo #
--echo # MDEV-25325 column_comment for performance_schema tables
--echo #
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_stages_summary_global_by_event_name';
...@@ -40,3 +40,9 @@ UNLOCK TABLES; ...@@ -40,3 +40,9 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_summary_by_account_by_event_name WRITE; LOCK TABLES performance_schema.events_statements_summary_by_account_by_event_name WRITE;
UNLOCK TABLES; UNLOCK TABLES;
--echo #
--echo # MDEV-25325 column_comment for performance_schema tables
--echo #
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_summary_by_account_by_event_name';
...@@ -61,3 +61,9 @@ UNLOCK TABLES; ...@@ -61,3 +61,9 @@ UNLOCK TABLES;
LOCK TABLES performance_schema.events_statements_summary_by_digest WRITE; LOCK TABLES performance_schema.events_statements_summary_by_digest WRITE;
UNLOCK TABLES; UNLOCK TABLES;
--echo #
--echo # MDEV-25325 column_comment for performance_schema tables
--echo #
select column_name, column_comment
from information_schema.columns
where table_schema='performance_schema' and table_name='events_statements_summary_by_digest';
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment