Class: ActiveRecord::ConnectionAdapters::SQLiteAdapter

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

Overview

:nodoc:

Direct Known Subclasses

DeprecatedSQLiteAdapter

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



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

def begin_db_transaction()    @connection.transaction end

#columns(table_name, name = nil) ⇒ Object



130
131
132
133
134
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 130

def columns(table_name, name = nil)
  table_structure(table_name).map { |field|
    SQLiteColumn.new(field['name'], field['dflt_value'], field['type'])
  }
end

#commit_db_transactionObject



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

def commit_db_transaction()   @connection.commit      end

#delete(sql, name = nil) ⇒ Object



94
95
96
97
98
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 94

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

#execute(sql, name = nil) ⇒ Object



85
86
87
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 85

def execute(sql, name = nil)
  log(sql, name) { @connection.execute(sql) }
end

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



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

def insert(sql, name = nil, pk = nil, id_value = nil)
  execute(sql, name = nil)
  id_value || @connection.last_insert_row_id
end

#quote_column_name(name) ⇒ Object



140
141
142
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 140

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

#quote_string(s) ⇒ Object



136
137
138
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 136

def quote_string(s)
  @connection.class.quote(s)
end

#rollback_db_transactionObject



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

def rollback_db_transaction() @connection.rollback    end

#select_all(sql, name = nil) ⇒ Object



105
106
107
108
109
110
111
112
113
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 105

def select_all(sql, name = nil)
  execute(sql, name).map do |row|
    record = {}
    row.each_key do |key|
      record[key.sub(/\w+\./, '')] = row[key] unless key.is_a?(Fixnum)
    end
    record
  end
end

#select_one(sql, name = nil) ⇒ Object



115
116
117
118
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 115

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

#tablesObject



126
127
128
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 126

def tables
  execute('.table').map { |table| Table.new(table) }
end

#update(sql, name = nil) ⇒ Object



89
90
91
92
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 89

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