Sha256: b9f9dcd0924faa62474af74512b78b4061f800cff3a7d7cf168745371a0d631f
Contents?: true
Size: 930 Bytes
Versions: 8
Compression:
Stored size: 930 Bytes
Contents
module ActiveRecord module ConnectionAdapters module Sqlserver module CoreExt class ExplainSubscriber def call(*args) if queries = Thread.current[:available_queries_for_explain] payload = args.last queries << payload.values_at(:sql, :binds) unless ignore_sqlserver_payload?(payload) end end IGNORED_PAYLOADS = %w(SCHEMA EXPLAIN CACHE) SQLSERVER_EXPLAINED_SQLS = /(select|update|delete|insert)/i # Need to modify the regex for the TSQL generated by this adapter so we can explain the proper sql statements def ignore_sqlserver_payload?(payload) payload[:exception] || IGNORED_PAYLOADS.include?(payload[:name]) || payload[:sql] !~ SQLSERVER_EXPLAINED_SQLS end ActiveSupport::Notifications.subscribe("sql.active_record", new) end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems