Skip to content

Instantly share code, notes, and snippets.

@dbussink
Created May 21, 2009 08:11
Show Gist options
  • Save dbussink/115346 to your computer and use it in GitHub Desktop.
Save dbussink/115346 to your computer and use it in GitHub Desktop.
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