blob: 00f3d50f60326380bc6f8b9dd9e1d0418ee74c1f [file]
# Test SKIP LOCKED when regular row locks can't be acquired.
# GPDB: have to run sessions that have SELECT ... FOR ... w/ planner because
# ORCA would upgrade lock to ExclusiveLock.
setup
{
CREATE TABLE queue (
id int PRIMARY KEY,
data text NOT NULL,
status text NOT NULL
);
INSERT INTO queue VALUES (1, 'foo', 'NEW'), (2, 'bar', 'NEW');
}
teardown
{
DROP TABLE queue;
}
session s1
setup { SET optimizer=off; BEGIN; }
step s1a { SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; }
step s1b { SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; }
step s1c { COMMIT; }
session s2
setup { SET optimizer=off; BEGIN; }
step s2a { SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; }
step s2b { SELECT * FROM queue ORDER BY id FOR UPDATE SKIP LOCKED LIMIT 1; }
step s2c { COMMIT; }