Class: Flydata::Parser::Mysql::FlydataMysqlClient
- Inherits:
-
Mysql2::Client
- Object
- Mysql2::Client
- Flydata::Parser::Mysql::FlydataMysqlClient
- Defined in:
- lib/flydata/parser/mysql/dump_parser.rb
Overview
Custom mysql client that gives access to the last query that was executed using the client which can be helpful when handling exceptions
Instance Attribute Summary collapse
-
#last_query ⇒ Object
Returns the value of attribute last_query.
Instance Method Summary collapse
Instance Attribute Details
#last_query ⇒ Object
Returns the value of attribute last_query.
249 250 251 |
# File 'lib/flydata/parser/mysql/dump_parser.rb', line 249 def last_query @last_query end |
Instance Method Details
#query(sql, options = {}) ⇒ Object
251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 |
# File 'lib/flydata/parser/mysql/dump_parser.rb', line 251 def query(sql, = {}) @last_query = sql max_retry = [:retry_count] || 0 retry_interval = [:retry_interval] || 3 count = 0 result = nil begin result = super(sql, ) rescue => e count += 1 raise e if max_retry != -1 && count > max_retry yield(count, e) if block_given? sleep retry_interval retry end result end |