def fetch_each(opts={})
      return to_enum(:fetch_each, opts) unless block_given?

      fetch_in_batches(opts) do |records|
        records.each { |record| yield record }
      end
    end
def fetch_each(opts={})
      return to_enum(:fetch_each, opts) unless block_given?

      fetch_in_batches(opts) do |records|
        records.each { |record| yield record }
      end
    end
Uses #fetch_in_batches with a batch size of 1000 (or as
 specified by the +:batch_size+ option) to enumerate through all
 records, while using batches to limit resource consumption.

 If you do not provide a block to #fetch_each, it will return an Enumerator
 for chaining with other methods.

   UsersByPositionQuery.fetch_each.with_index do |user, index|
     user.position = index
     UserMapper.update_position(user)
   end

 ==== Options
 * <tt>:batch_size</tt> - Specifies the size of the batch. Default to 1000.

 NOTE: Any limit specified on the query will affect the batched set.
 Cassandra internal paging is used for batching.