mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-25433: SKIP LOCKED should imply NOWAIT
This also means SKIP LOCKED is compatible with the NOWAIT/ WAIT n syntax consisten with the MySQL-8.0 implementation.
This commit is contained in:
@@ -27,11 +27,11 @@ BEGIN;
|
||||
CREATE TEMPORARY TABLE s0 AS SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE;
|
||||
SELECT * FROM s0;
|
||||
|
||||
CREATE TEMPORARY TABLE s1 AS SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE NOWAIT SKIP LOCKED;
|
||||
CREATE TEMPORARY TABLE s1 AS SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE SKIP LOCKED;
|
||||
SELECT * FROM s1;
|
||||
|
||||
connection default;
|
||||
CREATE TEMPORARY TABLE s0 AS SELECT * FROM t1 WHERE state = 0 LOCK IN SHARE MODE NOWAIT SKIP LOCKED;
|
||||
CREATE TEMPORARY TABLE s0 AS SELECT * FROM t1 WHERE state = 0 LOCK IN SHARE MODE SKIP LOCKED;
|
||||
SELECT * FROM s0;
|
||||
|
||||
COMMIT;
|
||||
@@ -56,11 +56,11 @@ BEGIN;
|
||||
INSERT INTO t2 SELECT * FROM t1 WHERE state = 0 LIMIT 2 LOCK IN SHARE MODE RETURNING seat_id, state;
|
||||
|
||||
CREATE TEMPORARY TABLE t2s LIKE t1;
|
||||
INSERT INTO t2s SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE NOWAIT SKIP LOCKED RETURNING seat_id, state;
|
||||
INSERT INTO t2s SELECT * FROM t1 WHERE state = 0 LIMIT 2 FOR UPDATE SKIP LOCKED RETURNING seat_id, state;
|
||||
|
||||
connection default;
|
||||
CREATE TEMPORARY TABLE t2s LIKE t1;
|
||||
INSERT INTO t2s SELECT * FROM t1 WHERE state = 0 LOCK IN SHARE MODE NOWAIT SKIP LOCKED RETURNING seat_id, state;
|
||||
INSERT INTO t2s SELECT * FROM t1 WHERE state = 0 LOCK IN SHARE MODE SKIP LOCKED RETURNING seat_id, state;
|
||||
COMMIT;
|
||||
DROP TABLE t2s;
|
||||
|
||||
|
Reference in New Issue
Block a user