From 84505e6e3a107e062d1caa20cf7ed63443133ef6 Mon Sep 17 00:00:00 2001 From: Oleksandr Byelkin Date: Thu, 12 May 2011 14:56:08 +0300 Subject: [PATCH 01/10] db_name can change case, so we need copy of it for case insensitive FS. --- sql/sql_show.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 09367503448..884d58d3674 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -3415,9 +3415,15 @@ int get_all_tables(THD *thd, TABLE_LIST *tables, COND *cond) it.rewind(); /* To get access to new elements in basis list */ while ((db_name= it++)) { - /* db_name can be changed in make_table_list() func */ - LEX_STRING orig_db_name= *db_name; + LEX_STRING orig_db_name; + /* + db_name can be changed in make_table_list() func. + We need copy of db_name because it can change case. + */ + if (!thd->make_lex_string(&orig_db_name, db_name->str, + db_name->length, FALSE)) + goto err; #ifndef NO_EMBEDDED_ACCESS_CHECKS if (!(check_access(thd,SELECT_ACL, db_name->str, &thd->col_access, 0, 1, with_i_schema) || From e55fb3bbe844dcc5f53ea7bdb6f13b5b79ff56ec Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 18 May 2011 15:15:36 +0200 Subject: [PATCH 02/10] Fix mysqltest printing of include stack. The printing of include stack in the error case in mysqltest omitted the bottom of the stack (the line number in original test case file), and instead printed the top of the stack twice. Fix to print each element on the stack once and only once. --- client/mysqltest.cc | 11 ++++++++--- mysql-test/r/mysqltest.result | 10 +++++----- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/client/mysqltest.cc b/client/mysqltest.cc index 16ab64fb424..0b08564b07a 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc @@ -1270,12 +1270,17 @@ static void cleanup_and_exit(int exit_code) void print_file_stack() { - for (struct st_test_file* err_file= cur_file; - err_file != file_stack; - err_file--) + struct st_test_file* err_file= cur_file; + if (err_file == file_stack) + return; + + for (;;) { + err_file--; fprintf(stderr, "included from %s at line %d:\n", err_file->file_name, err_file->lineno); + if (err_file == file_stack) + break; } } diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result index 7e16cece813..6d714208423 100644 --- a/mysql-test/r/mysqltest.result +++ b/mysql-test/r/mysqltest.result @@ -334,10 +334,10 @@ included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1: included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1: included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1: included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1: -included from MYSQLTEST_VARDIR/tmp/recursive.sql at line 1: +included from at line 1: At line 1: Source directives are nesting too deep mysqltest: In included file "MYSQLTEST_VARDIR/tmp/error.sql": -included from MYSQLTEST_VARDIR/tmp/error.sql at line 1: +included from at line 1: At line 1: query 'garbage ' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'garbage' at line 1 2 = outer loop variable after while @@ -433,7 +433,7 @@ while with string, only once 1 Testing while with not mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest_while.inc": -included from MYSQLTEST_VARDIR/tmp/mysqltest_while.inc at line 65: +included from at line 1: At line 64: Nesting too deeply mysqltest: At line 1: missing '(' in while mysqltest: At line 1: missing ')' in while @@ -484,10 +484,10 @@ mysqltest: At line 1: Illegal argument for port: 'illegal_port' mysqltest: At line 1: Illegal option to connect: SMTP 200 connects succeeded mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": -included from MYSQLTEST_VARDIR/tmp/mysqltest.sql at line 3: +included from at line 1: At line 3: connection 'test_con1' not found in connection pool mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": -included from MYSQLTEST_VARDIR/tmp/mysqltest.sql at line 2: +included from at line 1: At line 2: Connection test_con1 already exists show tables; ERROR 3D000: No database selected From ccdecaea5931e548e25c4c874a90017c98c474c3 Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Thu, 26 May 2011 14:38:17 +0300 Subject: [PATCH 03/10] Disable call to setpriority() in pbxt. This caused mysqld to run with nice priority -19, which was far from optimal. mysql-test/suite/innodb/r/innodb_bug60049.result: Updated results mysql-test/suite/innodb/t/innodb_bug60049.test: Force global.innodb_fast_shutdown to 0 as test require it mysql-test/suite/innodb_plugin/t/innodb_bug60049.test: Force global.innodb_fast_shutdown to 0 as test require it storage/pbxt/src/pthread_xt.cc: Disable call to setpriority() --- mysql-test/suite/innodb/r/innodb_bug60049.result | 1 + mysql-test/suite/innodb/t/innodb_bug60049.test | 9 ++++----- mysql-test/suite/innodb_plugin/r/innodb_bug60049.result | 1 + mysql-test/suite/innodb_plugin/t/innodb_bug60049.test | 4 ++++ storage/pbxt/src/pthread_xt.cc | 2 ++ 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/mysql-test/suite/innodb/r/innodb_bug60049.result b/mysql-test/suite/innodb/r/innodb_bug60049.result index bec0e05a897..a1788a8ab0a 100644 --- a/mysql-test/suite/innodb/r/innodb_bug60049.result +++ b/mysql-test/suite/innodb/r/innodb_bug60049.result @@ -1,3 +1,4 @@ +set @@global.innodb_fast_shutdown=0; CREATE TABLE t(a INT)ENGINE=InnoDB; RENAME TABLE t TO u; DROP TABLE u; diff --git a/mysql-test/suite/innodb/t/innodb_bug60049.test b/mysql-test/suite/innodb/t/innodb_bug60049.test index 1110f619862..fc977b3976f 100644 --- a/mysql-test/suite/innodb/t/innodb_bug60049.test +++ b/mysql-test/suite/innodb/t/innodb_bug60049.test @@ -5,11 +5,10 @@ -- source include/not_embedded.inc -- source include/have_innodb.inc -if (`SELECT @@innodb_fast_shutdown != 0`) - -{ - skip Need innodb_fast_shutdown=0; -} +# +# This test will not work if we don't do full shutdown of innodb +# +set @@global.innodb_fast_shutdown=0; CREATE TABLE t(a INT)ENGINE=InnoDB; RENAME TABLE t TO u; diff --git a/mysql-test/suite/innodb_plugin/r/innodb_bug60049.result b/mysql-test/suite/innodb_plugin/r/innodb_bug60049.result index bec0e05a897..a1788a8ab0a 100644 --- a/mysql-test/suite/innodb_plugin/r/innodb_bug60049.result +++ b/mysql-test/suite/innodb_plugin/r/innodb_bug60049.result @@ -1,3 +1,4 @@ +set @@global.innodb_fast_shutdown=0; CREATE TABLE t(a INT)ENGINE=InnoDB; RENAME TABLE t TO u; DROP TABLE u; diff --git a/mysql-test/suite/innodb_plugin/t/innodb_bug60049.test b/mysql-test/suite/innodb_plugin/t/innodb_bug60049.test index 0423f5d3635..f42451d2994 100644 --- a/mysql-test/suite/innodb_plugin/t/innodb_bug60049.test +++ b/mysql-test/suite/innodb_plugin/t/innodb_bug60049.test @@ -5,6 +5,10 @@ -- source include/not_embedded.inc -- source include/have_innodb_plugin.inc +# This test will not work if we don't do full shutdown of innodb +# +set @@global.innodb_fast_shutdown=0; + CREATE TABLE t(a INT)ENGINE=InnoDB; RENAME TABLE t TO u; DROP TABLE u; diff --git a/storage/pbxt/src/pthread_xt.cc b/storage/pbxt/src/pthread_xt.cc index e7f0632e9ae..c5dc2e41fdd 100755 --- a/storage/pbxt/src/pthread_xt.cc +++ b/storage/pbxt/src/pthread_xt.cc @@ -558,8 +558,10 @@ xtPublic int xt_p_set_low_priority(pthread_t thr) */ /* -20 = highest, 20 = lowest */ +#ifdef SET_GLOBAL_PRIORITY if (setpriority(PRIO_PROCESS, getpid(), 20) == -1) return errno; +#endif return 0; } return pth_set_priority(thr, pth_min_priority); From 2c243b3199dd220a88476648b02aacd059968304 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 15 Jun 2011 19:44:00 +0200 Subject: [PATCH 04/10] fix "./configure --with-debug" builds (without CFLAGS=-DSAFEMALLOC). --- storage/heap/hp_test2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/heap/hp_test2.c b/storage/heap/hp_test2.c index bf06cf03035..67471e93a7a 100644 --- a/storage/heap/hp_test2.c +++ b/storage/heap/hp_test2.c @@ -22,7 +22,7 @@ #undef DBUG_OFF #endif #ifndef SAFEMALLOC -#define SAFEMALLOC +#define SAFEMALLOC 1 #endif #include "heapdef.h" /* Because of hp_find_block */ From 018614e2b348598f4518e11156fb44c388d2bf32 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 15 Jun 2011 20:30:10 +0200 Subject: [PATCH 05/10] ./mtr --suite funcs_1 --ps-protocol --- .../funcs_1/r/processlist_priv_ps.result | 164 +++++----- .../suite/funcs_1/r/processlist_val_ps.result | 284 ++++++++++++------ 2 files changed, 276 insertions(+), 172 deletions(-) diff --git a/mysql-test/suite/funcs_1/r/processlist_priv_ps.result b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result index c5aabfe315c..c05c9549334 100644 --- a/mysql-test/suite/funcs_1/r/processlist_priv_ps.result +++ b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result @@ -29,28 +29,29 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` ( `COMMAND` varchar(16) NOT NULL DEFAULT '', `TIME` int(7) NOT NULL DEFAULT '0', `STATE` varchar(64) DEFAULT NULL, - `INFO` longtext + `INFO` longtext, + `TIME_MS` decimal(22,3) NOT NULL DEFAULT '0.000' ) DEFAULT CHARSET=utf8 SHOW processlist; Id User Host db Command Time State Info ID root HOST_NAME information_schema Query TIME NULL SHOW processlist ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL SELECT * FROM processlist ORDER BY id; -ID USER HOST DB COMMAND TIME STATE INFO -ID root HOST_NAME information_schema Execute TIME executing SELECT * FROM processlist ORDER BY id -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id; -ID USER HOST DB COMMAND TIME STATE INFO -ID root HOST_NAME information_schema Execute TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID root HOST_NAME information_schema Execute TIME executing SELECT * FROM processlist ORDER BY id TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS FROM processlist ORDER BY id; +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID root HOST_NAME information_schema Execute TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS FROM processlist ORDER BY id TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist; UPDATE test.t_processlist SET user='horst' WHERE id=1 ; INSERT INTO processlist SELECT * FROM test.t_processlist; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' DROP TABLE test.t_processlist; -CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist WITH CHECK OPTION; +CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS) AS SELECT * FROM processlist WITH CHECK OPTION; ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist' -CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist; +CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS) AS SELECT * FROM processlist; UPDATE test.v_processlist SET TIME=NOW() WHERE id = 1; ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' DROP VIEW test.v_processlist; @@ -99,25 +100,26 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` ( `COMMAND` varchar(16) NOT NULL DEFAULT '', `TIME` int(7) NOT NULL DEFAULT '0', `STATE` varchar(64) DEFAULT NULL, - `INFO` longtext + `INFO` longtext, + `TIME_MS` decimal(22,3) NOT NULL DEFAULT '0.000' ) DEFAULT CHARSET=utf8 SHOW processlist; Id User Host db Command Time State Info ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM processlist ORDER BY id; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM processlist ORDER BY id -SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO FROM processlist ORDER BY id +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM processlist ORDER BY id TIME_MS +SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS FROM processlist ORDER BY id; +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS FROM processlist ORDER BY id TIME_MS CREATE TEMPORARY TABLE test.t_processlist AS SELECT * FROM processlist; UPDATE test.t_processlist SET user='horst' WHERE id=1 ; INSERT INTO processlist SELECT * FROM test.t_processlist; ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema' DROP TABLE test.t_processlist; -CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist WITH CHECK OPTION; +CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS) AS SELECT * FROM processlist WITH CHECK OPTION; ERROR HY000: CHECK OPTION on non-updatable view 'test.v_processlist' -CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO) AS SELECT * FROM processlist; +CREATE VIEW test.v_processlist (ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO, TIME_MS) AS SELECT * FROM processlist; UPDATE test.v_processlist SET TIME=NOW() WHERE id = 1; ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema' DROP VIEW test.v_processlist; @@ -170,8 +172,8 @@ SHOW processlist; Id User Host db Command Time State Info ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS #################################################################################### 4.2 New connection con101 (ddicttestuser1 with PROCESS privilege) SHOW/SELECT shows all processes/threads. @@ -185,10 +187,10 @@ ID root HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID root HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS #################################################################################### 5 Grant PROCESS privilege to anonymous user. connection default (user=root) @@ -209,11 +211,11 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID root HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS #################################################################################### 6 Revoke PROCESS privilege from ddicttestuser1 connection default (user=root) @@ -233,10 +235,10 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS #################################################################################### 7 Revoke PROCESS privilege from anonymous user connection default (user=root) @@ -251,9 +253,9 @@ SHOW GRANTS FOR ''@'localhost'; Grants for @localhost GRANT USAGE ON *.* TO ''@'localhost' SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist -ID HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS +ID HOST_NAME information_schema Sleep TIME NULL TIME_MS #################################################################################### 8 Grant SUPER (does not imply PROCESS) privilege to ddicttestuser1 connection default (user=root) @@ -273,11 +275,11 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS #################################################################################### 9 Revoke SUPER privilege from user ddicttestuser1 connection default (user=root) @@ -299,12 +301,12 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS #################################################################################### 10 Grant SUPER privilege with grant option to user ddicttestuser1. connection default (user=root) @@ -353,18 +355,18 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser2 HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser2 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID root HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser2 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID root HOST_NAME information_schema Sleep TIME NULL TIME_MS #################################################################################### 11 User ddicttestuser1 revokes PROCESS privilege from user ddicttestuser2 connection ddicttestuser1; @@ -382,9 +384,9 @@ Id User Host db Command Time State Info ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser2 HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser2 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist -ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser2 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS +ID ddicttestuser2 HOST_NAME information_schema Sleep TIME NULL TIME_MS #################################################################################### 11.2 Revoke SUPER,PROCESS,GRANT OPTION privilege from user ddicttestuser1 connection default (user=root) @@ -411,15 +413,15 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS #################################################################################### 12 Revoke the SELECT privilege from user ddicttestuser1 connection default (user=root) @@ -447,16 +449,16 @@ ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL ID ddicttestuser1 HOST_NAME information_schema Query TIME NULL SHOW processlist SELECT * FROM information_schema.processlist; -ID USER HOST DB COMMAND TIME STATE INFO -ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL -ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Execute TIME executing SELECT * FROM information_schema.processlist TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS +ID ddicttestuser1 HOST_NAME information_schema Sleep TIME NULL TIME_MS #################################################################################### 12.2 Revoke only the SELECT privilege on the information_schema from ddicttestuser1. connection default (user=root) diff --git a/mysql-test/suite/funcs_1/r/processlist_val_ps.result b/mysql-test/suite/funcs_1/r/processlist_val_ps.result index 448c68eadb8..86f290daea7 100644 --- a/mysql-test/suite/funcs_1/r/processlist_val_ps.result +++ b/mysql-test/suite/funcs_1/r/processlist_val_ps.result @@ -19,140 +19,242 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` ( `COMMAND` varchar(16) NOT NULL DEFAULT '', `TIME` int(7) NOT NULL DEFAULT '0', `STATE` varchar(64) DEFAULT NULL, - `INFO` longtext + `INFO` longtext, + `TIME_MS` decimal(22,3) NOT NULL DEFAULT '0.000' ) DEFAULT CHARSET=utf8 -SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST; -COUNT(*) -1 -USE test; +# Ensure that the information about the own connection is correct. +#-------------------------------------------------------------------------- + SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST; -ID USER HOST DB COMMAND TIME STATE INFO - root localhost test Execute 0 executing SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST +ID USER HOST DB COMMAND TIME STATE INFO TIME_MS + root test Execute