Sha256: d8c2b246b687e4fc204b6f5cd257596dc73bdd2e2f01c2ec393e36d7d2037c7d
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
module ActiveRecord::Turntable module ActiveRecordExt module AbstractAdapter def translate_exception_class(e, sql) begin message = "#{e.class.name}: #{e.message}: #{sql} : #{turntable_shard_name}" rescue Encoding::CompatibilityError message = "#{e.class.name}: #{e.message.force_encoding sql.encoding}: #{sql} : #{turntable_shard_name}" end exception = translate_exception(e, message) exception.set_backtrace e.backtrace exception end # @note override for append current shard name # rubocop:disable Style/HashSyntax, Style/MultilineMethodCallBraceLayout 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 => e raise translate_exception_class(e, sql) end # rubocop:enable Style/HashSyntax, Style/MultilineMethodCallBraceLayout protected :translate_exception_class, :log def turntable_shard_name=(name) @turntable_shard_name = name.to_s end def turntable_shard_name instance_variable_defined?(:@turntable_shard_name) ? @turntable_shard_name : nil end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activerecord-turntable-3.0.0 | lib/active_record/turntable/active_record_ext/abstract_adapter.rb |