# 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