# Test NOWAIT with tuple locks. setup { CREATE TABLE foo ( id int PRIMARY KEY, data text NOT NULL ); INSERT INTO foo VALUES (1, 'x'); } teardown { DROP TABLE foo; } session "s1" setup { BEGIN; } step "s1a" { SELECT * FROM foo FOR UPDATE; } step "s1b" { COMMIT; } session "s2" setup { BEGIN; } step "s2a" { SELECT * FROM foo FOR UPDATE; } step "s2b" { COMMIT; } session "s3" setup { BEGIN; } step "s3a" { SELECT * FROM foo FOR UPDATE NOWAIT; } step "s3b" { COMMIT; } # s3 skips to second record due to tuple lock held by s2 permutation "s1a" "s2a" "s3a" "s1b" "s2b" "s3b"