File tree Expand file tree Collapse file tree 2 files changed +3
-11
lines changed
lib/active_record/relation Expand file tree Collapse file tree 2 files changed +3
-11
lines changed Original file line number Diff line number Diff line change @@ -85,7 +85,7 @@ def merge_select_values
85
85
return if other . select_values . empty?
86
86
87
87
if other . model == relation . model
88
- relation . select_values += other . select_values
88
+ relation . select_values += other . select_values if relation . select_values != other . select_values
89
89
else
90
90
relation . select_values += other . instance_eval do
91
91
arel_columns ( select_values )
Original file line number Diff line number Diff line change @@ -47,10 +47,11 @@ def test_multi_values_deduplication_with_merge
47
47
unscope : [ :where ] ,
48
48
extending : [ Module . new ] ,
49
49
with : [ foo : Post . all ] ,
50
+ select : [ :id , :id ] ,
50
51
}
51
52
expected . default = [ Object . new ]
52
53
53
- ( Relation ::MULTI_VALUE_METHODS - [ :select ] ) . each do |method |
54
+ Relation ::MULTI_VALUE_METHODS . each do |method |
54
55
getter , setter = "#{ method } _values" , "#{ method } _values="
55
56
values = expected [ method ]
56
57
relation = Relation . new ( FakeKlass )
@@ -293,15 +294,6 @@ def test_relation_merging_with_joins_as_join_dependency_pick_proper_parent
293
294
assert_equal 3 , relation . where ( id : post . id ) . pluck ( :id ) . size
294
295
end
295
296
296
- def test_merge_preserves_duplicate_columns
297
- quoted_posts_id = Regexp . escape ( quote_table_name ( "posts.id" ) )
298
- quoted_posts = Regexp . escape ( quote_table_name ( "posts" ) )
299
- posts = Post . select ( :id )
300
- assert_queries_match ( /SELECT #{ quoted_posts_id } , #{ quoted_posts_id } FROM #{ quoted_posts } /i ) do
301
- posts . merge ( posts ) . to_a
302
- end
303
- end
304
-
305
297
def test_merge_raises_with_invalid_argument
306
298
assert_raises ArgumentError do
307
299
relation = Relation . new ( FakeKlass )
You can’t perform that action at this time.
0 commit comments