Class: TursoLibsql::LocalConnection

Inherits:
Object
  • Object
show all
Defined in:
lib/turso_libsql/database.rb

Overview

ローカル SQLite 接続(Embedded Replica 用)sqlite3 gem を使用

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path, remote_url, token, mode) ⇒ LocalConnection

Returns a new instance of LocalConnection.



110
111
112
113
114
115
116
117
118
119
# File 'lib/turso_libsql/database.rb', line 110

def initialize(path, remote_url, token, mode)
  require 'sqlite3'
  @db = SQLite3::Database.new(path)
  @db.results_as_hash = true
  @remote_url = remote_url
  @token = token
  @mode = mode
  @last_insert_rowid = 0
  @last_affected_rows = 0
end

Instance Attribute Details

#last_insert_rowidObject (readonly)

Returns the value of attribute last_insert_rowid.



151
152
153
# File 'lib/turso_libsql/database.rb', line 151

def last_insert_rowid
  @last_insert_rowid
end

Instance Method Details

#begin_transactionObject



139
140
141
# File 'lib/turso_libsql/database.rb', line 139

def begin_transaction
  @db.execute('BEGIN')
end

#commit_transactionObject



143
144
145
# File 'lib/turso_libsql/database.rb', line 143

def commit_transaction
  @db.execute('COMMIT')
end

#execute(sql) ⇒ Object



121
122
123
124
125
126
# File 'lib/turso_libsql/database.rb', line 121

def execute(sql)
  @db.execute(sql)
  @last_affected_rows = @db.changes
  @last_insert_rowid = @db.last_insert_row_id
  @last_affected_rows
end

#execute_with_params(sql, params) ⇒ Object



132
133
134
135
136
137
# File 'lib/turso_libsql/database.rb', line 132

def execute_with_params(sql, params)
  @db.execute(sql, params)
  @last_affected_rows = @db.changes
  @last_insert_rowid = @db.last_insert_row_id
  @last_affected_rows
end

#query(sql) ⇒ Object



128
129
130
# File 'lib/turso_libsql/database.rb', line 128

def query(sql)
  @db.execute(sql)
end

#rollback_transactionObject



147
148
149
# File 'lib/turso_libsql/database.rb', line 147

def rollback_transaction
  @db.execute('ROLLBACK')
end