aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorBogdan Gusiev <agresso@gmail.com>2018-09-28 11:38:15 +0300
committerBogdan Gusiev <agresso@gmail.com>2018-09-28 11:46:40 +0300
commitd76e3e12800414551ec42e17832227b820402007 (patch)
treed92fac75bea553e622d6d653461d97273e5d4149 /activerecord/test
parent2ab0df00b69335986f1116b7bea17c1ed0f52d9f (diff)
downloadrails-d76e3e12800414551ec42e17832227b820402007.tar.gz
rails-d76e3e12800414551ec42e17832227b820402007.tar.bz2
rails-d76e3e12800414551ec42e17832227b820402007.zip
Bugfix ActiveRecord::Relation#merge special case of from clause
When one relation is merged into another that has a different base class merging `from_clause` causes invalid SQL to be generated
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/relation/merging_test.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/test/cases/relation/merging_test.rb b/activerecord/test/cases/relation/merging_test.rb
index 6e7998d15a..224e4f39a8 100644
--- a/activerecord/test/cases/relation/merging_test.rb
+++ b/activerecord/test/cases/relation/merging_test.rb
@@ -122,6 +122,10 @@ class RelationMergingTest < ActiveRecord::TestCase
assert_not_empty relation.from_clause
end
+ def test_merging_with_from_clause_on_different_class
+ assert Comment.joins(:post).merge(Post.from("posts")).first
+ end
+
def test_merging_with_order_with_binds
relation = Post.all.merge(Post.order([Arel.sql("title LIKE ?"), "%suffix"]))
assert_equal ["title LIKE '%suffix'"], relation.order_values