Class: Audrey::Engine::SQLite3::Transaction::RC

Inherits:
Audrey::Engine::SQLite3::Transaction show all
Defined in:
lib/audrey/engine/sqlite3.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Transaction

#exit

Constructor Details

#initialize(*opts) ⇒ RC


initialize



1536
1537
1538
1539
# File 'lib/audrey/engine/sqlite3.rb', line 1536

def initialize(*opts)
	super(*opts)
	start()
end

Instance Attribute Details

#savepointObject (readonly)

Returns the value of attribute savepoint.



1531
1532
1533
# File 'lib/audrey/engine/sqlite3.rb', line 1531

def savepoint
  @savepoint
end

Instance Method Details

#commitObject


commit



1560
1561
1562
1563
# File 'lib/audrey/engine/sqlite3.rb', line 1560

def commit
	release()
	@engine.reset_savepoints self
end

#rollbackObject


rollback



1572
1573
1574
# File 'lib/audrey/engine/sqlite3.rb', line 1572

def rollback
	@engine.dbh.execute "rollback to #{@savepoint}"
end

#startObject


start



1548
1549
1550
1551
# File 'lib/audrey/engine/sqlite3.rb', line 1548

def start
	@savepoint = Audrey::Util.randstr()
	@engine.dbh.execute "savepoint #{@savepoint}"
end

#terminateObject


terminate



1583
1584
1585
1586
# File 'lib/audrey/engine/sqlite3.rb', line 1583

def terminate
	rollback()
	release()
end