blob: d9ca48fc74c8da5e9fdb2baf0fd5b4f401dd124b [file]
-- @Description Tests that a update operation in progress will block all other updates
-- until the transaction is committed.
--
DROP TABLE IF EXISTS ao;
DROP
CREATE TABLE ao (a INT, b INT) USING @amname@;
CREATE
INSERT INTO ao SELECT i as a, i as b FROM generate_series(1,10) AS i;
INSERT 10
-- The actual test begins
1: BEGIN;
BEGIN
2: BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
BEGIN
1: UPDATE ao SET b = 42 WHERE b = 1;
UPDATE 1
2&: UPDATE ao SET b = -1 WHERE b = 1; <waiting ...>
1: COMMIT;
COMMIT
2<: <... completed>
UPDATE 0
2: COMMIT;
COMMIT
SELECT * FROM ao WHERE b < 2;
a | b
---+---
(0 rows)