mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Client attributes
This commit is contained in:
52
mysql-test/suite/perfschema/r/connect_attrs.result
Normal file
52
mysql-test/suite/perfschema/r/connect_attrs.result
Normal file
@ -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;
|
83
mysql-test/suite/perfschema/t/connect_attrs.test
Normal file
83
mysql-test/suite/perfschema/t/connect_attrs.test
Normal file
@ -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
|
Reference in New Issue
Block a user