Parsed test spec with 2 sessions starting permutation: delete c1 select2 c2 step delete: DELETE FROM target t WHERE t.key = 1; step c1: COMMIT; step select2: SELECT * FROM target; key|val ---+--- (0 rows) step c2: COMMIT; starting permutation: delete_pa c1 select2_pa c2 step delete_pa: DELETE FROM target_pa t WHERE t.key = 1; step c1: COMMIT; step select2_pa: SELECT * FROM target_pa; key|val ---+--- (0 rows) step c2: COMMIT; starting permutation: delete_tg c1 select2_tg c2 s1: NOTICE: Delete: (1,setup1) step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; step c1: COMMIT; step select2_tg: SELECT * FROM target_tg; key|val ---+--- (0 rows) step c2: COMMIT; starting permutation: delete c1 update2 select2 c2 step delete: DELETE FROM target t WHERE t.key = 1; step c1: COMMIT; step update2: UPDATE target t SET val = t.val || ' updated by update2' WHERE t.key = 1; step select2: SELECT * FROM target; key|val ---+--- (0 rows) step c2: COMMIT; starting permutation: delete_pa c1 update2_pa select2_pa c2 step delete_pa: DELETE FROM target_pa t WHERE t.key = 1; step c1: COMMIT; step update2_pa: UPDATE target_pa t SET val = t.val || ' updated by update2_pa' WHERE t.key = 1; step select2_pa: SELECT * FROM target_pa; key|val ---+--- (0 rows) step c2: COMMIT; starting permutation: delete_tg c1 update2_tg select2_tg c2 s1: NOTICE: Delete: (1,setup1) step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; step c1: COMMIT; step update2_tg: UPDATE target_tg t SET val = t.val || ' updated by update2_tg' WHERE t.key = 1; step select2_tg: SELECT * FROM target_tg; key|val ---+--- (0 rows) step c2: COMMIT; starting permutation: delete c1 merge2 select2 c2 step delete: DELETE FROM target t WHERE t.key = 1; step c1: COMMIT; step merge2: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; step select2: SELECT * FROM target; key|val ---+------ 1|merge2 (1 row) step c2: COMMIT; starting permutation: delete_pa c1 merge2_pa select2_pa c2 step delete_pa: DELETE FROM target_pa t WHERE t.key = 1; step c1: COMMIT; step merge2_pa: MERGE INTO target_pa t USING (SELECT 1 as key, 'merge2_pa' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; step select2_pa: SELECT * FROM target_pa; key|val ---+--------- 1|merge2_pa (1 row) step c2: COMMIT; starting permutation: delete_tg c1 merge2_tg select2_tg c2 s1: NOTICE: Delete: (1,setup1) step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; step c1: COMMIT; s2: NOTICE: Insert: (1,merge2_tg) step merge2_tg: MERGE INTO target_tg t USING (SELECT 1 as key, 'merge2_tg' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; step select2_tg: SELECT * FROM target_tg; key|val ---+--------- 1|merge2_tg (1 row) step c2: COMMIT; starting permutation: delete c1 merge_delete2 select2 c2 step delete: DELETE FROM target t WHERE t.key = 1; step c1: COMMIT; step merge_delete2: MERGE INTO target t USING (SELECT 1 as key, 'merge_delete2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN DELETE; step select2: SELECT * FROM target; key|val ---+------------- 1|merge_delete2 (1 row) step c2: COMMIT; starting permutation: delete_tg c1 merge_delete2_tg select2_tg c2 s1: NOTICE: Delete: (1,setup1) step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; step c1: COMMIT; s2: NOTICE: Insert: (1,merge_delete2_tg) step merge_delete2_tg: MERGE INTO target_tg t USING (SELECT 1 as key, 'merge_delete2_tg' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN DELETE; step select2_tg: SELECT * FROM target_tg; key|val ---+---------------- 1|merge_delete2_tg (1 row) step c2: COMMIT; starting permutation: delete update2 c1 select2 c2 step delete: DELETE FROM target t WHERE t.key = 1; step update2: UPDATE target t SET val = t.val || ' updated by update2' WHERE t.key = 1; step c1: COMMIT; step update2: <... completed> step select2: SELECT * FROM target; key|val ---+--- (0 rows) step c2: COMMIT; starting permutation: delete_pa update2_pa c1 select2_pa c2 step delete_pa: DELETE FROM target_pa t WHERE t.key = 1; step update2_pa: UPDATE target_pa t SET val = t.val || ' updated by update2_pa' WHERE t.key = 1; step c1: COMMIT; step update2_pa: <... completed> step select2_pa: SELECT * FROM target_pa; key|val ---+--- (0 rows) step c2: COMMIT; starting permutation: delete_tg update2_tg c1 select2_tg c2 s1: NOTICE: Delete: (1,setup1) step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; step update2_tg: UPDATE target_tg t SET val = t.val || ' updated by update2_tg' WHERE t.key = 1; step c1: COMMIT; step update2_tg: <... completed> step select2_tg: SELECT * FROM target_tg; key|val ---+--- (0 rows) step c2: COMMIT; starting permutation: delete merge2 c1 select2 c2 step delete: DELETE FROM target t WHERE t.key = 1; step merge2: MERGE INTO target t USING (SELECT 1 as key, 'merge2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; step c1: COMMIT; step merge2: <... completed> step select2: SELECT * FROM target; key|val ---+------ 1|merge2 (1 row) step c2: COMMIT; starting permutation: delete_pa merge2_pa c1 select2_pa c2 step delete_pa: DELETE FROM target_pa t WHERE t.key = 1; step merge2_pa: MERGE INTO target_pa t USING (SELECT 1 as key, 'merge2_pa' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; step c1: COMMIT; step merge2_pa: <... completed> step select2_pa: SELECT * FROM target_pa; key|val ---+--------- 1|merge2_pa (1 row) step c2: COMMIT; starting permutation: delete_tg merge2_tg c1 select2_tg c2 s1: NOTICE: Delete: (1,setup1) step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; step merge2_tg: MERGE INTO target_tg t USING (SELECT 1 as key, 'merge2_tg' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; step c1: COMMIT; s2: NOTICE: Insert: (1,merge2_tg) step merge2_tg: <... completed> step select2_tg: SELECT * FROM target_tg; key|val ---+--------- 1|merge2_tg (1 row) step c2: COMMIT; starting permutation: delete merge_delete2 c1 select2 c2 step delete: DELETE FROM target t WHERE t.key = 1; step merge_delete2: MERGE INTO target t USING (SELECT 1 as key, 'merge_delete2' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN DELETE; step c1: COMMIT; step merge_delete2: <... completed> step select2: SELECT * FROM target; key|val ---+------------- 1|merge_delete2 (1 row) step c2: COMMIT; starting permutation: delete_tg merge_delete2_tg c1 select2_tg c2 s1: NOTICE: Delete: (1,setup1) step delete_tg: DELETE FROM target_tg t WHERE t.key = 1; step merge_delete2_tg: MERGE INTO target_tg t USING (SELECT 1 as key, 'merge_delete2_tg' as val) s ON s.key = t.key WHEN NOT MATCHED THEN INSERT VALUES (s.key, s.val) WHEN MATCHED THEN DELETE; step c1: COMMIT; s2: NOTICE: Insert: (1,merge_delete2_tg) step merge_delete2_tg: <... completed> step select2_tg: SELECT * FROM target_tg; key|val ---+---------------- 1|merge_delete2_tg (1 row) step c2: COMMIT;