Class: ActiveRecord::ConnectionAdapters::DbslayerConnection
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::DbslayerConnection
- Defined in:
- lib/active_record/connection_adapters/dbslayer_connection.rb
Instance Attribute Summary collapse
-
#affected_rows ⇒ Object
readonly
Returns the value of attribute affected_rows.
-
#host ⇒ Object
readonly
Returns the value of attribute host.
-
#insert_id ⇒ Object
readonly
Returns the value of attribute insert_id.
-
#port ⇒ Object
readonly
Returns the value of attribute port.
Instance Method Summary collapse
- #client_info ⇒ Object (also: #server_info)
- #client_version_num ⇒ Object
- #escape_string(str) ⇒ Object (also: #quote)
-
#initialize(host = 'localhost', port = 9090) ⇒ DbslayerConnection
constructor
A new instance of DbslayerConnection.
- #mysql_stats ⇒ Object (also: #stat)
- #server_version_num ⇒ Object
-
#sql_query(sql) ⇒ Object
(also: #execute, #query)
Executes a SQL query.
Constructor Details
#initialize(host = 'localhost', port = 9090) ⇒ DbslayerConnection
Returns a new instance of DbslayerConnection.
75 76 77 78 79 80 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 75 def initialize(host='localhost', port=9090) @host = host @port = port @insert_id = nil @affected_rows = nil end |
Instance Attribute Details
#affected_rows ⇒ Object (readonly)
Returns the value of attribute affected_rows.
73 74 75 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 73 def affected_rows @affected_rows end |
#host ⇒ Object (readonly)
Returns the value of attribute host.
73 74 75 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 73 def host @host end |
#insert_id ⇒ Object (readonly)
Returns the value of attribute insert_id.
73 74 75 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 73 def insert_id @insert_id end |
#port ⇒ Object (readonly)
Returns the value of attribute port.
73 74 75 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 73 def port @port end |
Instance Method Details
#client_info ⇒ Object Also known as: server_info
118 119 120 121 122 123 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 118 def client_info if @client_info.nil? @client_info = cmd_execute(:db, 'CLIENT_INFO' => true)["CLIENT_INFO"] end @client_info end |
#client_version_num ⇒ Object
127 128 129 130 131 132 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 127 def client_version_num if @client_version.nil? @client_version = Integer(cmd_execute(:db, 'CLIENT_VERSION' => true)["CLIENT_VERSION"]) end @client_version end |
#escape_string(str) ⇒ Object Also known as: quote
141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 141 def escape_string(str) str.gsub(/([\0\n\r\032\'\"\\])/) do case $1 when "\0" then "\\0" when "\n" then "\\n" when "\r" then "\\r" when "\032" then "\\Z" else "\\"+$1 end end end |
#mysql_stats ⇒ Object Also known as: stat
111 112 113 114 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 111 def mysql_stats results = cmd_execute(:db, 'STAT' => true) results['STAT'] end |
#server_version_num ⇒ Object
134 135 136 137 138 139 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 134 def server_version_num if @server_version.nil? @server_version = Integer(cmd_execute(:db, 'SERVER_VERSION' => true)["SERVER_VERSION"]) end @server_version end |
#sql_query(sql) ⇒ Object Also known as: execute, query
Executes a SQL query
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/active_record/connection_adapters/dbslayer_connection.rb', line 84 def sql_query(sql) dbslay_results = cmd_execute(:db, 'SQL' => sql) # check for an error if dbslay_results['MYSQL_ERROR'] raise DbslayerException, "MySQL Error #{dbslay_results['MYSQL_ERRNO']}: #{dbslay_results['MYSQL_ERROR']}" elsif result = dbslay_results['RESULT'] case result when Hash out = DbslayerResult.new(result) set_affected!(out) out when Array out = result.map {|r| DbslayerResult.new(r) } set_affected!(out.last) out else raise DbslayerException, "Unknown format for SQL results from DBSlayer" end else raise DbslayerException, "Unknown format for SQL results from DBSlayer" end end |