Sha256: 928a376801d39eb609ead3f572bdb88730ab71839fe5808cd5ea455de8144066
Contents?: true
Size: 927 Bytes
Versions: 12
Compression:
Stored size: 927 Bytes
Contents
module ActiveRecord::Turntable class Mixer class Fader class SelectShardsMergeResult < 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) if results.any? { |r| r.is_a?(ActiveRecord::Result) } first_result = results.find(&:present?) return results.first unless first_result ActiveRecord::Result.new( first_result.columns, results.flat_map(&:rows), first_result.column_types ) else results.compact.inject(&:+) end end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems