22 changed files with 597 additions and 27 deletions
-
6client/mysql.cc
-
3client/mysqladmin.cc
-
3client/mysqlbinlog.cc
-
3client/mysqlcheck.c
-
3client/mysqldump.c
-
3client/mysqlimport.c
-
3client/mysqlshow.c
-
3client/mysqlslap.c
-
8client/mysqltest.cc
-
2include/mysql.h
-
2include/mysql.h.pp
-
1include/mysql/psi/psi.h
-
3include/mysql_com.h
-
3include/sql_common.h
-
3libmysql/client_settings.h
-
44libmysqld/lib_sql.cc
-
52mysql-test/suite/perfschema/r/connect_attrs.result
-
83mysql-test/suite/perfschema/t/connect_attrs.test
-
310sql-common/client.c
-
4sql/client_settings.h
-
79sql/sql_acl.cc
-
3storage/perfschema/pfs_server.h
@ -0,0 +1,52 @@ |
|||
# must return 0, 6 |
|||
SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*) |
|||
FROM performance_schema.session_connect_attrs |
|||
WHERE ATTR_NAME IN ('_os', '_client_name', '_pid', |
|||
'_client_version', '_platform', 'program_name') |
|||
AND PROCESSLIST_ID = CONNECTION_ID(); |
|||
SUM(ISNULL(ATTR_VALUE)) COUNT(*) |
|||
0 6 |
|||
# must return 1 |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_connect_attrs; |
|||
COUNT(DISTINCT PROCESSLIST_ID) |
|||
1 |
|||
# must return 0, 6 |
|||
SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*) |
|||
FROM performance_schema.session_account_connect_attrs |
|||
WHERE ATTR_NAME IN ('_os', '_client_name', '_pid', |
|||
'_client_version', '_platform', 'program_name') |
|||
AND PROCESSLIST_ID = CONNECTION_ID(); |
|||
SUM(ISNULL(ATTR_VALUE)) COUNT(*) |
|||
0 6 |
|||
# must return 1 |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_account_connect_attrs; |
|||
COUNT(DISTINCT PROCESSLIST_ID) |
|||
1 |
|||
CREATE USER wl5924@localhost; |
|||
# must return 1 |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_account_connect_attrs; |
|||
COUNT(DISTINCT PROCESSLIST_ID) |
|||
1 |
|||
# must return 2 |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_connect_attrs; |
|||
COUNT(DISTINCT PROCESSLIST_ID) |
|||
2 |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_account_connect_attrs; |
|||
ERROR 42000: SELECT command denied to user 'wl5924'@'localhost' for table 'session_account_connect_attrs' |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_connect_attrs; |
|||
ERROR 42000: SELECT command denied to user 'wl5924'@'localhost' for table 'session_connect_attrs' |
|||
grant select on performance_schema.* to wl5924@localhost; |
|||
SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*) |
|||
FROM performance_schema.session_account_connect_attrs |
|||
WHERE ATTR_NAME IN ('_os', '_client_name', '_pid', |
|||
'_client_version', '_platform', 'program_name') |
|||
AND PROCESSLIST_ID = CONNECTION_ID(); |
|||
SUM(ISNULL(ATTR_VALUE)) COUNT(*) |
|||
0 6 |
|||
DROP USER wl5924@localhost; |
@ -0,0 +1,83 @@ |
|||
# Session connect attributes test |
|||
--source include/have_perfschema.inc |
|||
|
|||
# although the connection attributes transfer code works |
|||
# with embedded P_S is not active, so the test won't run. |
|||
# TODO: remove this when P_S works with embedded. |
|||
--source include/not_embedded.inc |
|||
|
|||
# make sure we're alone |
|||
let $count_sessions= 1; |
|||
--source include/wait_until_count_sessions.inc |
|||
|
|||
# basic performance_schema.session_connect_attrs tests |
|||
|
|||
# check the presense of the pre-defined attributes |
|||
--echo # must return 0, 6 |
|||
SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*) |
|||
FROM performance_schema.session_connect_attrs |
|||
WHERE ATTR_NAME IN ('_os', '_client_name', '_pid', |
|||
'_client_version', '_platform', 'program_name') |
|||
AND PROCESSLIST_ID = CONNECTION_ID(); |
|||
|
|||
# check the presense of the pre-defined attributes |
|||
--echo # must return 1 |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_connect_attrs; |
|||
|
|||
|
|||
# basic performance_schema.session_account_connect_attrs tests |
|||
|
|||
# check the presense of the pre-defined attributes |
|||
--echo # must return 0, 6 |
|||
SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*) |
|||
FROM performance_schema.session_account_connect_attrs |
|||
WHERE ATTR_NAME IN ('_os', '_client_name', '_pid', |
|||
'_client_version', '_platform', 'program_name') |
|||
AND PROCESSLIST_ID = CONNECTION_ID(); |
|||
|
|||
# check the presense of the pre-defined attributes |
|||
--echo # must return 1 |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_account_connect_attrs; |
|||
|
|||
|
|||
|
|||
CREATE USER wl5924@localhost; |
|||
|
|||
connect(non_privileged_user,localhost,wl5924,,test); |
|||
connection default; |
|||
|
|||
--echo # must return 1 |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_account_connect_attrs; |
|||
|
|||
--echo # must return 2 |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_connect_attrs; |
|||
|
|||
connection non_privileged_user; |
|||
--error ER_TABLEACCESS_DENIED_ERROR |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_account_connect_attrs; |
|||
|
|||
--error ER_TABLEACCESS_DENIED_ERROR |
|||
SELECT COUNT(DISTINCT PROCESSLIST_ID) |
|||
FROM performance_schema.session_connect_attrs; |
|||
|
|||
connection default; |
|||
disconnect non_privileged_user; |
|||
|
|||
grant select on performance_schema.* to wl5924@localhost; |
|||
change_user wl5924; |
|||
SELECT SUM(ISNULL(ATTR_VALUE)), COUNT(*) |
|||
FROM performance_schema.session_account_connect_attrs |
|||
WHERE ATTR_NAME IN ('_os', '_client_name', '_pid', |
|||
'_client_version', '_platform', 'program_name') |
|||
AND PROCESSLIST_ID = CONNECTION_ID(); |
|||
change_user root,,test; |
|||
|
|||
DROP USER wl5924@localhost; |
|||
|
|||
# Wait till all disconnects are completed |
|||
--source include/wait_until_count_sessions.inc |
Write
Preview
Loading…
Cancel
Save
Reference in new issue