# I11: independent keys never interact or block each other, in any # interleaving. setup { CREATE EXTENSION IF NOT EXISTS pg_lease; } teardown { DROP EXTENSION pg_lease CASCADE; } session "s1" step "a_acq_x" { SELECT acquired, epoch FROM lease.acquire('x', 'alice', interval '1h'); } step "a_rel_x" { SELECT status FROM lease.release('x', 'alice', 1); } step "a_acq_x2" { SELECT acquired, epoch FROM lease.acquire('x', 'alice', interval '1h'); } session "s2" step "b_acq_y" { SELECT acquired, epoch FROM lease.acquire('y', 'bob', interval '1h'); } step "b_rel_y" { SELECT status FROM lease.release('y', 'bob', 1); } step "b_acq_y2" { SELECT acquired, epoch FROM lease.acquire('y', 'bob', interval '1h'); } # Both keys proceed independently in interleaved order; epochs are # per-key (both 1, then both 2). permutation "a_acq_x" "b_acq_y" "a_rel_x" "b_rel_y" "a_acq_x2" "b_acq_y2" permutation "b_acq_y" "b_rel_y" "a_acq_x" "a_rel_x" "b_acq_y2" "a_acq_x2"