Created
May 21, 2009 08:11
-
-
Save dbussink/115346 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/lib/dm-core/transaction.rb b/lib/dm-core/transaction.rb | |
index 57fa398..ecb4292 100644 | |
--- a/lib/dm-core/transaction.rb | |
+++ b/lib/dm-core/transaction.rb | |
@@ -99,7 +99,6 @@ module DataMapper | |
end | |
else | |
raise "Illegal state for commit without block: #{@state}" unless @state == :begin | |
- each_adapter(:prepare_adapter, [:rollback_and_close_adapter_if_begin, :rollback_prepared_and_close_adapter_if_prepare]) | |
each_adapter(:commit_adapter, [:log_fatal_transaction_breakage]) | |
each_adapter(:close_adapter, [:log_fatal_transaction_breakage]) | |
@state = :commit | |
@@ -115,7 +114,6 @@ module DataMapper | |
def rollback | |
raise "Illegal state for rollback: #{@state}" unless @state == :begin | |
each_adapter(:rollback_adapter_if_begin, [:rollback_and_close_adapter_if_begin, :close_adapter_if_none]) | |
- each_adapter(:rollback_prepared_adapter_if_prepare, [:rollback_prepared_and_close_adapter_if_begin, :close_adapter_if_none]) | |
each_adapter(:close_adapter_if_open, [:log_fatal_transaction_breakage]) | |
@state = :rollback | |
end | |
@@ -151,13 +149,13 @@ module DataMapper | |
# @api private | |
def method_missing(meth, *args, &block) | |
if args.size == 1 && args.first.kind_of?(Adapters::AbstractAdapter) | |
- if (match = meth.to_s.match(/^(.*)_if_(none|begin|prepare|rollback|commit)$/)) | |
+ if (match = meth.to_s.match(/^(.*)_if_(none|begin|rollback|commit)$/)) | |
if self.respond_to?(match[1], true) | |
self.send(match[1], args.first) if state_for(args.first).to_s == match[2] | |
else | |
super | |
end | |
- elsif (match = meth.to_s.match(/^(.*)_unless_(none|begin|prepare|rollback|commit)$/)) | |
+ elsif (match = meth.to_s.match(/^(.*)_unless_(none|begin|rollback|commit)$/)) | |
if self.respond_to?(match[1], true) | |
self.send(match[1], args.first) unless state_for(args.first).to_s == match[2] | |
else | |
@@ -184,7 +182,7 @@ module DataMapper | |
# TODO: document | |
# @api private | |
def validate_primitive(primitive) | |
- [:close, :begin, :prepare, :rollback, :rollback_prepared, :commit].each do |meth| | |
+ [:close, :begin, :rollback, :commit].each do |meth| | |
raise "Invalid primitive #{primitive}: doesnt respond_to?(#{meth.inspect})" unless primitive.respond_to?(meth) | |
end | |
return primitive | |
@@ -265,14 +263,8 @@ module DataMapper | |
# TODO: document | |
# @api private | |
- def prepare_adapter(adapter) | |
- do_adapter(adapter, :prepare, :begin); | |
- end | |
- | |
- # TODO: document | |
- # @api private | |
def commit_adapter(adapter) | |
- do_adapter(adapter, :commit, :prepare) | |
+ do_adapter(adapter, :commit, :begin) | |
end | |
# TODO: document | |
@@ -283,19 +275,6 @@ module DataMapper | |
# TODO: document | |
# @api private | |
- def rollback_prepared_adapter(adapter) | |
- do_adapter(adapter, :rollback_prepared, :prepare) | |
- end | |
- | |
- # TODO: document | |
- # @api private | |
- def rollback_prepared_and_close_adapter(adapter) | |
- rollback_prepared_adapter(adapter) | |
- close_adapter(adapter) | |
- end | |
- | |
- # TODO: document | |
- # @api private | |
def rollback_and_close_adapter(adapter) | |
rollback_adapter(adapter) | |
close_adapter(adapter) | |
@@ -319,7 +298,7 @@ module DataMapper | |
# | |
# @return [Object] | |
# a new Object that responds to :close, :begin, :commit, | |
- # :rollback, :rollback_prepared and :prepare | |
+ # and :rollback, | |
# | |
# @api private | |
def transaction_primitive |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment