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.
47 lines
1.2 KiB
47 lines
1.2 KiB
create
|
|
definer = `mysql.sys`@localhost function sys.ps_is_thread_instrumented(in_connection_id bigint unsigned) returns enum ('YES', 'NO', 'UNKNOWN')
|
|
comment '
|
|
Description
|
|
-----------
|
|
|
|
Checks whether the provided connection id is instrumented within Performance Schema.
|
|
|
|
Parameters
|
|
-----------
|
|
|
|
in_connection_id (BIGINT UNSIGNED):
|
|
The id of the connection to check.
|
|
|
|
Returns
|
|
-----------
|
|
|
|
ENUM(''YES'', ''NO'', ''UNKNOWN'')
|
|
|
|
Example
|
|
-----------
|
|
|
|
mysql> SELECT sys.ps_is_thread_instrumented(CONNECTION_ID());
|
|
+------------------------------------------------+
|
|
| sys.ps_is_thread_instrumented(CONNECTION_ID()) |
|
|
+------------------------------------------------+
|
|
| YES |
|
|
+------------------------------------------------+
|
|
'
|
|
sql security invoker
|
|
reads sql data
|
|
BEGIN
|
|
DECLARE v_enabled ENUM('YES', 'NO', 'UNKNOWN');
|
|
IF (in_connection_id IS NULL) THEN
|
|
RETURN NULL;
|
|
END IF;
|
|
SELECT INSTRUMENTED INTO v_enabled
|
|
FROM performance_schema.threads
|
|
WHERE PROCESSLIST_ID = in_connection_id;
|
|
IF (v_enabled IS NULL) THEN
|
|
RETURN 'UNKNOWN';
|
|
ELSE
|
|
RETURN v_enabled;
|
|
END IF;
|
|
END;
|
|
|