You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.4 KiB
46 lines
1.4 KiB
create
|
|
definer = `mysql.sys`@localhost function sys.ps_thread_account(in_thread_id bigint unsigned) returns text comment '
|
|
Description
|
|
-----------
|
|
|
|
Return the user@host account for the given Performance Schema thread id.
|
|
|
|
Parameters
|
|
-----------
|
|
|
|
in_thread_id (BIGINT UNSIGNED):
|
|
The id of the thread to return the account for.
|
|
|
|
Example
|
|
-----------
|
|
|
|
mysql> select thread_id, processlist_user, processlist_host from performance_schema.threads where type = ''foreground'';
|
|
+-----------+------------------+------------------+
|
|
| thread_id | processlist_user | processlist_host |
|
|
+-----------+------------------+------------------+
|
|
| 23 | NULL | NULL |
|
|
| 30 | root | localhost |
|
|
| 31 | msandbox | localhost |
|
|
| 32 | msandbox | localhost |
|
|
+-----------+------------------+------------------+
|
|
4 rows in set (0.00 sec)
|
|
|
|
mysql> select sys.ps_thread_account(31);
|
|
+---------------------------+
|
|
| sys.ps_thread_account(31) |
|
|
+---------------------------+
|
|
| msandbox@localhost |
|
|
+---------------------------+
|
|
1 row in set (0.00 sec)
|
|
' sql security invoker reads sql data
|
|
BEGIN
|
|
RETURN (SELECT IF(
|
|
type = 'FOREGROUND',
|
|
CONCAT(processlist_user, '@', processlist_host),
|
|
type
|
|
) AS account
|
|
FROM `performance_schema`.`threads`
|
|
WHERE thread_id = in_thread_id);
|
|
END;
|
|
|