Class: RailsDb::Adapters::BaseAdapter
- Inherits:
-
Object
- Object
- RailsDb::Adapters::BaseAdapter
show all
- Extended by:
- Connection
- Defined in:
- lib/rails_db/adapters/base_adapter.rb
Constant Summary
collapse
- MULTI_STATEMENT_HELP_TEXT =
"EXPERIMENTAL: You can import only file with SQL statements separated by ';'. Each new statement must start from new line."
Class Method Summary
collapse
Methods included from Connection
column_names, column_properties, columns, connection, to_param
Class Method Details
.adapter_name ⇒ Object
30
31
32
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 30
def self.adapter_name
'base'
end
|
.count(table_name) ⇒ Object
51
52
53
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 51
def self.count(table_name)
select("SELECT COUNT(*) FROM #{table_name}")[0].rows.flatten.last.to_i
end
|
.delete(table_name, pk_name, pk_id) ⇒ Object
42
43
44
45
46
47
48
49
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 42
def self.delete(table_name, pk_name, pk_id)
case pk_id
when Fixnum, Bignum then
execute("DELETE FROM #{table_name} WHERE #{pk_name} = #{pk_id};")
else
execute("DELETE FROM #{table_name} WHERE #{pk_name} = '#{pk_id}';")
end
end
|
.exec_query(sql) ⇒ Object
15
16
17
18
19
20
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 15
def self.exec_query(sql)
t0 = Time.now
results = connection.exec_query(sql)
execution_time = Time.now - t0
[results, execution_time]
end
|
.execute(sql) ⇒ Object
9
10
11
12
13
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 9
def self.execute(sql)
t0 = Time.now
connection.execute(sql)
Time.now - t0
end
|
.explain(sql) ⇒ Object
26
27
28
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 26
def self.explain(sql)
BaseAdapter.exec_query(sql)
end
|
.indexes(table_name) ⇒ Object
59
60
61
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 59
def self.indexes(table_name)
connection.indexes(table_name)
end
|
.mime ⇒ Object
34
35
36
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 34
def self.mime
'text/x-sql'
end
|
.primary_key(table_name) ⇒ Object
55
56
57
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 55
def self.primary_key(table_name)
connection.primary_key(table_name)
end
|
.select(sql) ⇒ Object
22
23
24
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 22
def self.select(sql)
BaseAdapter.exec_query(sql)
end
|
.truncate(table_name) ⇒ Object
38
39
40
|
# File 'lib/rails_db/adapters/base_adapter.rb', line 38
def self.truncate(table_name)
execute("TRUNCATE TABLE #{table_name};")
end
|