Class: DataObjects::SavePoint

Inherits:
Transaction show all
Defined in:
lib/data_objects/transaction.rb

Overview

class Transaction

Constant Summary

Constants inherited from Transaction

Transaction::HOST

Instance Attribute Summary

Attributes inherited from Transaction

#connection, #id

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Transaction

#begin_prepared, #close, #commit_prepared, #initialize, #prepare, #rollback_prepared

Constructor Details

This class inherits a constructor from DataObjects::Transaction

Class Method Details

.create_for_uri(uri, connection) ⇒ Object

We don’t bounce through DO::<Adapter/scheme>::SavePoint because there doesn’t appear to be any custom SQL to support this.



70
71
72
73
# File 'lib/data_objects/transaction.rb', line 70

def self.create_for_uri(uri, connection)
  uri = uri.is_a?(String) ? URI::parse(uri) : uri
  DataObjects::SavePoint.new(uri, connection)
end

Instance Method Details

#beginObject



75
76
77
# File 'lib/data_objects/transaction.rb', line 75

def begin
  run %{SAVEPOINT "#{@id}"}
end

#commitObject



79
80
81
# File 'lib/data_objects/transaction.rb', line 79

def commit
  run %{RELEASE SAVEPOINT "#{@id}"}
end

#rollbackObject



83
84
85
# File 'lib/data_objects/transaction.rb', line 83

def rollback
  run %{ROLLBACK TO SAVEPOINT "#{@id}"}
end