aboutsummaryrefslogtreecommitdiff
path: root/src/test/isolation/specs/delete-abort-savept.spec
blob: e41df20e89ad9f9f1f54c609b7a19a785b4e3b2d (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
29
# After rolling back a subtransaction that upgraded a lock, the previously
# held lock should still be held.
setup
{
  CREATE TABLE foo (
     key INT PRIMARY KEY,
     value INT
  );

  INSERT INTO foo VALUES (1, 1);
}

teardown
{
  DROP TABLE foo;
}

session "s1"
setup			{ BEGIN; }
step "s1l"		{ SELECT * FROM foo FOR KEY SHARE; }
step "s1svp"	{ SAVEPOINT f; }
step "s1d"		{ DELETE FROM foo; }
step "s1r"		{ ROLLBACK TO f; }
step "s1c"		{ COMMIT; }

session "s2"
setup			{ BEGIN; }
step "s2l"		{ SELECT * FROM foo FOR UPDATE; }
step "s2c"		{ COMMIT; }