aboutsummaryrefslogtreecommitdiff
path: root/src/test/isolation/specs/lock-nowait.spec
blob: bb46d12a79640dfae8c8fa61e78931b22727296e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# While requesting nowait lock, if the lock requested should
# be inserted in front of some waiter, check to see if the lock
# conflicts with already-held locks or the requests before
# the waiter. If not, then just grant myself the requested
# lock immediately.  Test this scenario.

setup
{
  CREATE TABLE a1 ();
}

teardown
{
  DROP TABLE a1;
}

session s1
setup		{ BEGIN; }
step s1a	{ LOCK TABLE a1 IN ACCESS EXCLUSIVE MODE; }
step s1b	{ LOCK TABLE a1 IN SHARE ROW EXCLUSIVE MODE NOWAIT; }
step s1c	{ COMMIT; }

session s2
setup		{ BEGIN; }
step s2a	{ LOCK TABLE a1 IN EXCLUSIVE MODE; }
step s2c	{ COMMIT; }

permutation s1a s2a s1b s1c s2c