Class: Sequel::SQLite::Database

Inherits:
Database
  • Object
show all
Defined in:
lib/sequel/sqlite.rb

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Database

Returns a new instance of Database.



13
14
15
16
17
18
19
20
# File 'lib/sequel/sqlite.rb', line 13

def initialize(opts = {})
  super
  @pool.connection_proc = proc do
    db = SQLite3::Database.new(@opts[:database])
    db.type_translation = true
    db
  end
end

Instance Method Details

#dataset(opts = nil) ⇒ Object



22
23
24
# File 'lib/sequel/sqlite.rb', line 22

def dataset(opts = nil)
  SQLite::Dataset.new(self, opts)
end

#execute(sql) ⇒ Object



30
31
32
# File 'lib/sequel/sqlite.rb', line 30

def execute(sql)
  @pool.hold {|conn| conn.execute(sql)}
end

#execute_insert(sql) ⇒ Object



34
35
36
# File 'lib/sequel/sqlite.rb', line 34

def execute_insert(sql)
  @pool.hold {|conn| conn.execute(sql); conn.last_insert_row_id}
end

#result_set(sql, record_class, &block) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/sequel/sqlite.rb', line 42

def result_set(sql, record_class, &block)
  @pool.hold do |conn|
    conn.query(sql) do |result|
      columns = result.columns
      column_count = columns.size
      result.each do |values|
        row = {}
        column_count.times {|i| row[columns[i].to_sym] = values[i]}
        block.call(record_class ? record_class.new(row) : row)
      end
    end
  end
end

#single_value(sql) ⇒ Object



38
39
40
# File 'lib/sequel/sqlite.rb', line 38

def single_value(sql)
  @pool.hold {|conn| conn.get_first_value(sql)}
end

#tablesObject



26
27
28
# File 'lib/sequel/sqlite.rb', line 26

def tables
  # return a list of tables
end