Module: ActiveRecord::ConnectionAdapters::TursoAdapter::TransactionManagement

Included in:
ActiveRecord::ConnectionAdapters::TursoAdapter
Defined in:
lib/active_record/connection_adapters/turso_adapter/transaction_management.rb

Instance Method Summary collapse

Instance Method Details

#begin_db_transactionObject



11
12
13
# File 'lib/active_record/connection_adapters/turso_adapter/transaction_management.rb', line 11

def begin_db_transaction
  execute("BEGIN DEFERRED")
end

#commit_db_transactionObject



15
16
17
# File 'lib/active_record/connection_adapters/turso_adapter/transaction_management.rb', line 15

def commit_db_transaction
  execute("COMMIT TRANSACTION")
end

#create_savepoint(name = current_savepoint_name(true)) ⇒ Object



23
24
25
# File 'lib/active_record/connection_adapters/turso_adapter/transaction_management.rb', line 23

def create_savepoint(name = current_savepoint_name(true))
  execute("SAVEPOINT #{savepoint_name(name)}")
end

#release_savepoint(name = current_savepoint_name(true)) ⇒ Object



31
32
33
# File 'lib/active_record/connection_adapters/turso_adapter/transaction_management.rb', line 31

def release_savepoint(name = current_savepoint_name(true))
  execute("RELEASE SAVEPOINT #{savepoint_name(name)}")
end

#rollback_db_transactionObject



19
20
21
# File 'lib/active_record/connection_adapters/turso_adapter/transaction_management.rb', line 19

def rollback_db_transaction
  execute("ROLLBACK TRANSACTION")
end

#rollback_to_savepoint(name = current_savepoint_name(true)) ⇒ Object



27
28
29
# File 'lib/active_record/connection_adapters/turso_adapter/transaction_management.rb', line 27

def rollback_to_savepoint(name = current_savepoint_name(true))
  execute("ROLLBACK TO SAVEPOINT #{savepoint_name(name)}")
end

#supports_savepoints?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/active_record/connection_adapters/turso_adapter/transaction_management.rb', line 7

def supports_savepoints?
  true
end

#transaction(requires_new: nil, isolation: nil, joinable: true, **options, &block) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/active_record/connection_adapters/turso_adapter/transaction_management.rb', line 35

def transaction(requires_new: nil, isolation: nil, joinable: true, **options, &block)
  if options.delete(:concurrent)
    transaction_with_mvcc(options, &block)
  else
    super
  end
end