class Audrey::Engine::SQLite3::Transaction::RC

Audrey::Engine::SQLite3::Transaction::RC
An object of this class represents a transaction that can be rolled back or
committed.

Attributes

savepoint[R]

Public Class Methods

new(*opts) click to toggle source
# File lib/audrey/engine/sqlite3.rb, line 1237
def initialize(*opts)
        super(*opts)
        start()
end

Public Instance Methods

commit() click to toggle source
# File lib/audrey/engine/sqlite3.rb, line 1261
def commit
        release()
        @engine.reset_savepoints self
end
rollback() click to toggle source
# File lib/audrey/engine/sqlite3.rb, line 1273
def rollback
        @engine.dbh.execute "rollback to #{@savepoint}"
end
start() click to toggle source
# File lib/audrey/engine/sqlite3.rb, line 1249
def start
        @savepoint = Audrey::Util.randstr()
        @engine.dbh.execute "savepoint #{@savepoint}"
end
terminate() click to toggle source
# File lib/audrey/engine/sqlite3.rb, line 1284
def terminate
        rollback()
        release()
end

Private Instance Methods

release() click to toggle source
# File lib/audrey/engine/sqlite3.rb, line 1300
def release
        @engine.dbh.execute "release #{@savepoint}"
        @savepoint = nil
end