Module: Txnap::SqlEventClassifier
- Defined in:
- lib/txnap/sql_event_classifier.rb
Class Method Summary collapse
Class Method Details
.classify(payload) ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/txnap/sql_event_classifier.rb', line 7 def classify(payload) return :cache if payload[:cached] == true || payload[:name] == "CACHE" return :schema if payload[:name] == "SCHEMA" return :sql unless payload[:name] == "TRANSACTION" classify_transaction_sql(payload[:sql]) end |
.classify_transaction_sql(sql) ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/txnap/sql_event_classifier.rb', line 15 def classify_transaction_sql(sql) statement = Array(sql).join(" ").strip return :begin if statement.match?(/\A(?:BEGIN\b|START\s+TRANSACTION\b)/i) return :commit if statement.match?(/\ACOMMIT\b/i) return :transaction if statement.match?(/\AROLLBACK\s+TO\b/i) return :rollback if statement.match?(/\AROLLBACK\b/i) :transaction end |