1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
module DataObjects
module Mysql
class Transaction < DataObjects::Transaction
def begin_prepared
cmd = "XA START '#{id}'"
connection.create_command(cmd).execute_non_query
end
def commit_prepared
cmd = "XA COMMIT '#{id}'"
connection.create_command(cmd).execute_non_query
end
def rollback_prepared
cmd = "XA ROLLBACK '#{id}'"
connection.create_command(cmd).execute_non_query
end
def prepare
finalize_transaction
cmd = "XA PREPARE '#{id}'"
connection.create_command(cmd).execute_non_query
end
private
def finalize_transaction
cmd = "XA END '#{id}'"
connection.create_command(cmd).execute_non_query
end
end
end
end
|