connect_attrs.test 2.24 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
# 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