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.
269 270 271 |
# File 'lib/flydata/parser/mysql/dump_parser.rb', line 269 def last_query @last_query end |
Instance Method Details
#query(sql, options = {}) ⇒ Object
271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 |
# File 'lib/flydata/parser/mysql/dump_parser.rb', line 271 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 |