File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed
Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change @@ -44,4 +44,49 @@ def test_supports_savepoints
4444 assert_true ActiveRecord ::Base . connection . supports_savepoints?
4545 end
4646
47+ def test_many_savepoints
48+ @first = Entry . create
49+ Entry . transaction do
50+ @first . content = "One"
51+ @first . save!
52+
53+ begin
54+ Entry . transaction :requires_new => true do
55+ @first . content = "Two"
56+ @first . save!
57+
58+ begin
59+ Entry . transaction :requires_new => true do
60+ @first . content = "Three"
61+ @first . save!
62+
63+ begin
64+ Entry . transaction :requires_new => true do
65+ @first . content = "Four"
66+ @first . save!
67+ raise
68+ end
69+ rescue
70+ end
71+
72+ @three = @first . reload . content
73+ raise
74+ end
75+ rescue
76+ end
77+
78+ @two = @first . reload . content
79+ raise
80+ end
81+ rescue
82+ end
83+
84+ @one = @first . reload . content
85+ end
86+
87+ assert_equal "One" , @one
88+ assert_equal "Two" , @two
89+ assert_equal "Three" , @three
90+ end
91+
4792end
You can’t perform that action at this time.
0 commit comments