Sha256: 5aae61effb3477029facfe3c987e47bf22df586dcaa2b37f553fe695ec64a6f8
Contents?: true
Size: 735 Bytes
Versions: 12
Compression:
Stored size: 735 Bytes
Contents
module ActiveRecord::Turntable class Mixer class Fader class CalculateShardsSumResult < Fader def execute results = @shards_query_hash.map do |shard, query| args = @args.dup args[1] = args[1].dup if args[1].present? shard.connection.send(@called_method, query, *@args, &@block) end merge_results(results) end private def merge_results(results) ActiveRecord::Result.new( results.first.columns, results[0].rows.zip(*results[1..-1].map(&:rows)).map { |r| [r.map(&:first).inject(&:+)] }, results.first.column_types ) end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems