MOON
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4
System: Linux vps.panamaemb.org.sg 3.10.0-1160.80.1.vz7.191.4 #1 SMP Thu Dec 15 20:31:06 MSK 2022 x86_64
User: panama (500)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //proc/2/root/usr/share/mysql-test/suite/perfschema/t/connect_attrs.test
# 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;

DROP USER wl5924@localhost;

# Wait till all disconnects are completed
--source include/wait_until_count_sessions.inc