Class: FluidDb2::Mysql
- Inherits:
-
Base
- Object
- Base
- FluidDb2::Mysql
show all
- Defined in:
- lib/fluiddb2/mysql.rb
Overview
Instance Attribute Summary
Attributes inherited from Base
#connection, #verbose
Instance Method Summary
collapse
Methods inherited from Base
#begin, #commit, #initialize, #reconnect, #rollback, #verbose_log
Constructor Details
This class inherits a constructor from FluidDb2::Base
Instance Method Details
#close ⇒ Object
18
19
20
|
# File 'lib/fluiddb2/mysql.rb', line 18
def close
@connection.close
end
|
#connect ⇒ Object
11
12
13
14
15
16
|
# File 'lib/fluiddb2/mysql.rb', line 11
def connect
uri = @uri
database = uri.path.sub('/', '')
@connection = ::Mysql.new uri.host, uri.user, uri.password, database, nil, nil, ::Mysql::CLIENT_FOUND_ROWS
end
|
#execute(sql, params = [], expected_affected_rows = nil) ⇒ Object
75
76
77
78
79
80
81
82
|
# File 'lib/fluiddb2/mysql.rb', line 75
def execute(sql, params = [], expected_affected_rows = nil)
sql = FluidDb2.format_to_sql(sql, params)
@connection.query(sql)
if !expected_affected_rows.nil? && @connection.affected_rows != expected_affected_rows
fail ExpectedAffectedRowsError, "Expected affected rows, #{expected_affected_rows}, Actual affected rows, #{@connection.affected_rows}"
end
end
|
#insert(sql, params) ⇒ Object
84
85
86
87
|
# File 'lib/fluiddb2/mysql.rb', line 84
def insert(sql, params)
execute(sql, params)
@connection.insert_id
end
|
#query_for_array(sql, params = []) ⇒ Object
#query_for_resultset(sql, params = []) ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/fluiddb2/mysql.rb', line 59
def query_for_resultset(sql, params = [])
sql = FluidDb2.format_to_sql(sql, params)
results = @connection.query(sql)
case results.num_rows
when -1
fail FluidDb2::ConnectionError
else
list = []
results.each_hash do |row|
list.push row
end
return list
end
end
|
#query_for_value(sql, params = []) ⇒ Object