aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2014-01-21 05:31:27 -0800
committerYves Senn <yves.senn@gmail.com>2014-01-21 05:31:27 -0800
commit6a8a7f89aee25042b795fbfc8689a6db05549c7d (patch)
tree2d237b2dd3d60768dd791d079a885403e5cdedfb /activerecord/lib
parent9322e071e48a6f2ee00de736d7630f71f4dfcb31 (diff)
parent691709dd6741757e5c4459c8942857ee019b68a0 (diff)
downloadrails-6a8a7f89aee25042b795fbfc8689a6db05549c7d.tar.gz
rails-6a8a7f89aee25042b795fbfc8689a6db05549c7d.tar.bz2
rails-6a8a7f89aee25042b795fbfc8689a6db05549c7d.zip
Merge pull request #9969 from divineforest/fix-find-in-batches
Fail early with "Primary key not included in the custom select clause" i...
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/relation/batches.rb7
1 files changed, 2 insertions, 5 deletions
diff --git a/activerecord/lib/active_record/relation/batches.rb b/activerecord/lib/active_record/relation/batches.rb
index 49b01909c6..f02e2365f7 100644
--- a/activerecord/lib/active_record/relation/batches.rb
+++ b/activerecord/lib/active_record/relation/batches.rb
@@ -102,16 +102,13 @@ module ActiveRecord
while records.any?
records_size = records.size
primary_key_offset = records.last.id
+ raise "Primary key not included in the custom select clause" unless primary_key_offset
yield records
break if records_size < batch_size
- if primary_key_offset
- records = relation.where(table[primary_key].gt(primary_key_offset)).to_a
- else
- raise "Primary key not included in the custom select clause"
- end
+ records = relation.where(table[primary_key].gt(primary_key_offset)).to_a
end
end