diff --git a/src/test/isolation/expected/eval-plan-qual-trigger.out b/src/test/isolation/expected/eval-plan-qual-trigger.out index ea3e7446a5..6d7bad42cc 100644 --- a/src/test/isolation/expected/eval-plan-qual-trigger.out +++ b/src/test/isolation/expected/eval-plan-qual-trigger.out @@ -1888,172 +1888,6 @@ key data key-c val-c-s1 -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s3_b_rc s1_upd_a_data s2_upd_a_data s3_upd_a_data s1_c s2_c s3_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key data - -key-a val-a-s1 -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key data - -key-b val-b-s1 -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? - -1 -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? - -1 -step s3_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? - -1 -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key data - -key-a val-a-s1-ups1 -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -s3: NOTICE: upd: text key-a = text key-a: t -s3: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s3_upd_a_data: - UPDATE trigtest SET data = data || '-ups3' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -step s2_upd_a_data: <... completed> -key data - -key-a val-a-s1-ups1-ups2 -step s2_c: COMMIT; -s3: NOTICE: upd: text key-a = text key-a: t -s3: NOTICE: upk: text val-a-s1-ups1-ups2 <> text mismatch: t -s3: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1-ups2) new: (key-a,val-a-s1-ups1-ups2-ups3) -s3: NOTICE: upd: text key-b = text key-a: f -s3: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1-ups2) new: (key-a,val-a-s1-ups1-ups2-ups3) -step s3_upd_a_data: <... completed> -key data - -key-a val-a-s1-ups1-ups2-ups3 -step s3_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key data - -key-a val-a-s1-ups1-ups2-ups3 -key-b val-b-s1 - -starting permutation: s1_trig_rep_b_u s1_trig_rep_a_u s1_ins_a s1_ins_b s1_b_rc s2_b_rc s3_b_rc s1_upd_a_data s2_upd_a_data s3_upd_a_data s1_c s2_r s3_c s0_rep -step s1_trig_rep_b_u: CREATE TRIGGER rep_b_u BEFORE UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_trig_rep_a_u: CREATE TRIGGER rep_a_u AFTER UPDATE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); -step s1_ins_a: INSERT INTO trigtest VALUES ('key-a', 'val-a-s1') RETURNING *; -key data - -key-a val-a-s1 -step s1_ins_b: INSERT INTO trigtest VALUES ('key-b', 'val-b-s1') RETURNING *; -key data - -key-b val-b-s1 -step s1_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? - -1 -step s2_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? - -1 -step s3_b_rc: BEGIN ISOLATION LEVEL READ COMMITTED; SELECT 1; -?column? - -1 -s1: NOTICE: upd: text key-a = text key-a: t -s1: NOTICE: upk: text val-a-s1 <> text mismatch: t -s1: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -s1: NOTICE: upd: text key-b = text key-a: f -s1: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1) new: (key-a,val-a-s1-ups1) -step s1_upd_a_data: - UPDATE trigtest SET data = data || '-ups1' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -key data - -key-a val-a-s1-ups1 -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s2_upd_a_data: - UPDATE trigtest SET data = data || '-ups2' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -s3: NOTICE: upd: text key-a = text key-a: t -s3: NOTICE: upk: text val-a-s1 <> text mismatch: t -step s3_upd_a_data: - UPDATE trigtest SET data = data || '-ups3' - WHERE - noisy_oper('upd', key, '=', 'key-a') AND - noisy_oper('upk', data, '<>', 'mismatch') - RETURNING *; - -step s1_c: COMMIT; -s2: NOTICE: upd: text key-a = text key-a: t -s2: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s2: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -s2: NOTICE: upd: text key-b = text key-a: f -s2: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups2) -step s2_upd_a_data: <... completed> -key data - -key-a val-a-s1-ups1-ups2 -step s2_r: ROLLBACK; -s3: NOTICE: upd: text key-a = text key-a: t -s3: NOTICE: upk: text val-a-s1-ups1 <> text mismatch: t -s3: NOTICE: trigger: name rep_b_u; when: BEFORE; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups3) -s3: NOTICE: upd: text key-b = text key-a: f -s3: NOTICE: trigger: name rep_a_u; when: AFTER; lev: ROWs; op: UPDATE; old: (key-a,val-a-s1-ups1) new: (key-a,val-a-s1-ups1-ups3) -step s3_upd_a_data: <... completed> -key data - -key-a val-a-s1-ups1-ups3 -step s3_c: COMMIT; -step s0_rep: SELECT * FROM trigtest ORDER BY key, data -key data - -key-a val-a-s1-ups1-ups3 -key-b val-b-s1 - starting permutation: s1_trig_rep_b_i s1_trig_rep_b_d s1_trig_rep_b_u s1_trig_rep_a_i s1_trig_rep_a_d s1_trig_rep_a_u s1_ins_b s1_b_rc s2_b_rc s1_ins_a s1_upd_b_data s2_upd_b_data s1_del_b s1_upd_a_tob s1_c s2_c s0_rep step s1_trig_rep_b_i: CREATE TRIGGER rep_b_i BEFORE INSERT ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); step s1_trig_rep_b_d: CREATE TRIGGER rep_b_d BEFORE DELETE ON trigtest FOR EACH ROW EXECUTE PROCEDURE trig_report(); diff --git a/src/test/isolation/specs/eval-plan-qual-trigger.spec b/src/test/isolation/specs/eval-plan-qual-trigger.spec index 142a22a4be..d3b55b7d40 100644 --- a/src/test/isolation/specs/eval-plan-qual-trigger.spec +++ b/src/test/isolation/specs/eval-plan-qual-trigger.spec @@ -358,17 +358,17 @@ permutation "s1_trig_rep_b_d" "s1_trig_rep_a_d" "s0_rep" ### Verify EPQ with more than two participants works -# s1 updates, s2 updates, s3 updates, s1 commits, s2 EPQ, s2 commits, s3 EPQ -permutation "s1_trig_rep_b_u" "s1_trig_rep_a_u" - "s1_ins_a" "s1_ins_b" "s1_b_rc" "s2_b_rc" "s3_b_rc" - "s1_upd_a_data" "s2_upd_a_data" "s3_upd_a_data" "s1_c" "s2_c" "s3_c" - "s0_rep" -# s1 updates, s2 updates, s3 updates, s1 commits, s2 EPQ, s2 rolls back, s3 EPQ -permutation "s1_trig_rep_b_u" "s1_trig_rep_a_u" - "s1_ins_a" "s1_ins_b" "s1_b_rc" "s2_b_rc" "s3_b_rc" - "s1_upd_a_data" "s2_upd_a_data" "s3_upd_a_data" "s1_c" "s2_r" "s3_c" - "s0_rep" -## XXX: Disable test, there is some potential for instability here that's not yet fully understood +## XXX: Disable tests, there is some potential for instability here that's not yet fully understood +## s1 updates, s2 updates, s3 updates, s1 commits, s2 EPQ, s2 commits, s3 EPQ +#permutation "s1_trig_rep_b_u" "s1_trig_rep_a_u" +# "s1_ins_a" "s1_ins_b" "s1_b_rc" "s2_b_rc" "s3_b_rc" +# "s1_upd_a_data" "s2_upd_a_data" "s3_upd_a_data" "s1_c" "s2_c" "s3_c" +# "s0_rep" +## s1 updates, s2 updates, s3 updates, s1 commits, s2 EPQ, s2 rolls back, s3 EPQ +#permutation "s1_trig_rep_b_u" "s1_trig_rep_a_u" +# "s1_ins_a" "s1_ins_b" "s1_b_rc" "s2_b_rc" "s3_b_rc" +# "s1_upd_a_data" "s2_upd_a_data" "s3_upd_a_data" "s1_c" "s2_r" "s3_c" +# "s0_rep" ## s1 updates, s3 updates, s2 upserts, s1 updates, s1 commits, s3 EPQ, s3 deletes, s3 commits, s2 inserts without EPQ recheck #permutation "s1_trig_rep_b_i" "s1_trig_rep_b_d" "s1_trig_rep_b_u" "s1_trig_rep_a_i" "s1_trig_rep_a_d" "s1_trig_rep_a_u" # "s1_ins_a" "s1_b_rc" "s2_b_rc" "s3_b_rc"