polardbxengine/mysql-test/suite/xengine_perfschema/r/transaction_nested_events.r...

66 lines
2.2 KiB
Plaintext

#========================================================================
# STEP 1 - SETUP
#========================================================================
## Setup control thread
SET SESSION AUTOCOMMIT= 1;
USE test;
DROP DATABASE IF EXISTS db;
## Create test database, test tables, one transactional and one non-transactional
CREATE DATABASE db;
CREATE TABLE db.t1 (s1 int, s2 varchar(64)) ENGINE=XENGINE;
CREATE TABLE db.nt1 (s1 int, s2 varchar(64)) ENGINE=MYISAM;
CREATE PROCEDURE db.tp_update() UPDATE t1 SET s1 = s1 + 1;
CREATE PROCEDURE db.tp_start() START TRANSACTION;
CREATE PROCEDURE db.tp_rollback() ROLLBACK;
CREATE PROCEDURE db.tp_commit() COMMIT;
CREATE FUNCTION db.fn_add(x INT, y INT) RETURNS INT
BEGIN
INSERT INTO t1 VALUES (x, "INSERT x"),(y, "INSERT y");
RETURN x+y;
END |
## Warm-up data-dictionary cache.
## Setup connection 1
USE db;
SET SESSION AUTOCOMMIT = 1;
SELECT thread_id INTO @my_thread_id
FROM performance_schema.threads
WHERE processlist_id = connection_id();
Warnings:
Warning 1329 No data - zero rows fetched, selected, or processed
## Disable events from the control (default) connection
UPDATE performance_schema.threads SET instrumented = 'NO' WHERE processlist_id = CONNECTION_ID();
SET @all_threads= 0;
## Enable only transaction and statement instruments
UPDATE performance_schema.setup_instruments SET enabled='NO', timed='NO';
UPDATE performance_schema.setup_instruments SET enabled='YES'
WHERE name LIKE ('statement/%') OR name = 'transaction';
## Clear statement and transaction history
CALL test.clear_history();
#========================================================================
# STEP 2 - BASIC TRANSACTION
#========================================================================
#
# STEP 2.1 - IMPLICIT
#
INSERT INTO t1 VALUES (210, "INSERT 210");
INSERT INTO t1 VALUES (211, "INSERT 211");
INSERT INTO t1 VALUES (212, "INSERT 212");
UPDATE t1 SET s1 = s1 + 1 WHERE s1 = 212;
Timeout in wait_condition.inc for SELECT COUNT(*) > 0 FROM performance_schema.threads
WHERE THREAD_ID = @con1_thread_id
AND (PROCESSLIST_STATE = 'Sleep' OR PROCESSLIST_STATE IS NULL)
AND PROCESSLIST_INFO IS NULL
The activity of connection con1 did not finish.
thread_id PROCESSLIST_id PROCESSLIST_STATE PROCESSLIST_INFO
Abort.