aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/batches_test.rb
diff options
context:
space:
mode:
authorAlexis Bernard <alexis@obloh.com>2012-10-30 15:54:16 +0100
committerAlexis Bernard <alexis@obloh.com>2012-11-08 17:52:54 +0100
commit16d98b2a41dec3619b9bd48b6b534406d9d07ef4 (patch)
tree9adbd54d6c0492703cb438a93326971e6382bc6d /activerecord/test/cases/batches_test.rb
parent7031e365d6a8c00b62354f4abe8dff4802b38adf (diff)
downloadrails-16d98b2a41dec3619b9bd48b6b534406d9d07ef4.tar.gz
rails-16d98b2a41dec3619b9bd48b6b534406d9d07ef4.tar.bz2
rails-16d98b2a41dec3619b9bd48b6b534406d9d07ef4.zip
Fix find_in_batches against string IDs when start option is not specified.
Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/relation/batches.rb
Diffstat (limited to 'activerecord/test/cases/batches_test.rb')
-rw-r--r--activerecord/test/cases/batches_test.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/activerecord/test/cases/batches_test.rb b/activerecord/test/cases/batches_test.rb
index 16a93d97c6..ad2a749ab4 100644
--- a/activerecord/test/cases/batches_test.rb
+++ b/activerecord/test/cases/batches_test.rb
@@ -148,4 +148,13 @@ class EachTest < ActiveRecord::TestCase
assert_equal nick_order_subscribers[1..-1].map(&:id), subscribers.map(&:id)
end
+
+ def test_find_in_batches_should_use_any_column_as_primary_key_when_start_is_not_specified
+ Subscriber.count('nick') # preheat arel's table cache
+ assert_queries(Subscriber.count + 1) do
+ Subscriber.find_each(:batch_size => 1) do |subscriber|
+ assert_kind_of Subscriber, subscriber
+ end
+ end
+ end
end