Sha256: 1f34381b755eb3b2c2ccb0d92cfd85f048d12921813015e333e3bee9afcaa21a

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

module ActiveRecord::Turntable
  module ActiveRecordExt
    module AbstractAdapter
      extend ActiveSupport::Concern

      included do
        protected

        # @note override for logging current shard name
        def log(sql, name = "SQL", binds = [], statement_name = nil)
          @instrumenter.instrument(
                                   "sql.active_record",
                                   :sql            => sql,
                                   :name           => name,
                                   :connection_id  => object_id,
                                   :statement_name => statement_name,
                                   :binds          => binds,
                                   :turntable_shard_name => turntable_shard_name) { yield }
        rescue Exception => e
          message = "#{e.class.name}: #{e.message}: #{sql} : #{turntable_shard_name}"
          @logger.error message if @logger
          exception = translate_exception(e, message)
          exception.set_backtrace e.backtrace
          raise exception
        end
      end

      def turntable_shard_name=(name)
        @turntable_shard_name = name.to_s
      end

      def turntable_shard_name
        @turntable_shard_name
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activerecord-turntable-2.5.0 lib/active_record/turntable/active_record_ext/abstract_adapter.rb
activerecord-turntable-2.4.0 lib/active_record/turntable/active_record_ext/abstract_adapter.rb