Class: ActiveRecord::ConnectionAdapters::SQLiteAdapter

Inherits:
AbstractAdapter show all
Defined in:
lib/active_record/connection_adapters/sqlite_adapter.rb

Overview

:nodoc:

Instance Method Summary collapse

Methods inherited from AbstractAdapter

#add_limit!, #initialize, #quote, #reset_runtime, #structure_dump, #transaction

Constructor Details

This class inherits a constructor from ActiveRecord::ConnectionAdapters::AbstractAdapter

Instance Method Details

#begin_db_transactionObject



98
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 98

def begin_db_transaction()    execute "BEGIN" end

#columns(table_name, name = nil) ⇒ Object



60
61
62
63
64
65
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 60

def columns(table_name, name = nil)
  table_structure(table_name).inject([]) do |columns, field| 
    columns << SQLiteColumn.new(field['name'], field['dflt_value'], field['type'])
    columns
  end
end

#commit_db_transactionObject



99
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 99

def commit_db_transaction()   execute "COMMIT" end

#delete(sql, name = nil) ⇒ Object



92
93
94
95
96
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 92

def delete(sql, name = nil)
  sql += " WHERE 1=1" unless sql =~ /WHERE/i
  execute(sql, name)
  @connection.changes
end

#execute(sql, name = nil) ⇒ Object



72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 72

def execute(sql, name = nil)
  log(sql, name, @connection) do |connection|
    if defined?( SQLite::Version )
      case sql
        when "BEGIN" then connection.transaction
        when "COMMIT" then connection.commit
        when "ROLLBACK" then connection.rollback
        else connection.execute(sql)
      end
    else
      connection.execute( sql )
    end
  end
end

#insert(sql, name = nil, pk = nil, id_value = nil) ⇒ Object



67
68
69
70
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 67

def insert(sql, name = nil, pk = nil, id_value = nil)
  execute(sql, name = nil)
  id_value || @connection.send( defined?( SQLite::Version ) ? :last_insert_row_id : :last_insert_rowid )
end

#quote_column_name(name) ⇒ Object



106
107
108
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 106

def quote_column_name(name)
  return "'#{name}'"
end

#quote_string(s) ⇒ Object



102
103
104
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 102

def quote_string(s)
  SQLite::Database.quote(s)
end

#rollback_db_transactionObject



100
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 100

def rollback_db_transaction() execute "ROLLBACK" end

#select_all(sql, name = nil) ⇒ Object



51
52
53
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 51

def select_all(sql, name = nil)
  select(sql, name)
end

#select_one(sql, name = nil) ⇒ Object



55
56
57
58
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 55

def select_one(sql, name = nil)
  result = select(sql, name)
  result.nil? ? nil : result.first
end

#update(sql, name = nil) ⇒ Object



87
88
89
90
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 87

def update(sql, name = nil)
  execute(sql, name)
  @connection.changes
end