2019/04/06分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
The default value without loading railtie is false [ci skip] (#35881)
rails guideのConfiguring Rails Applications
の修正です。
Fix the deprecation warning about config.active_job.return_false_on_aborted_enqueue
で変更されたreturn_false_on_aborted_enqueue
のデフォルト値の説明を元の内容に修正しています。
Fix the deprecation warning about config.active_job.return_false_on_aborted_enqueue
で修正された内容はload_defaults
を経由した場合のデフォルトで、正確なデフォルト(何も処理を行わなかった場合の値)では無いため。
Merge pull request #35868 from kamipo/association_isnt_to_be_affected_by_scoping_consistently
activerecord/lib/active_record/associations/association.rb
の修正です。
eager loadしていないassociationのロード処理がscoping
の影響を受けるようになってたのを、影響を受けないよう修正しています。preloading及びeager loadingした場合scoping
の影響を受けないように既になっており、挙動を合わせる為。
# Before: Post.where("1=0").scoping do Comment.find(1).post # => nil Comment.preload(:post).find(1).post # => #<Post id: 1, ...> Comment.eager_load(:post).find(1).post # => #<Post id: 1, ...> end # After: Post.where("1=0").scoping do Comment.find(1).post # => #<Post id: 1, ...> Comment.preload(:post).find(1).post # => #<Post id: 1, ...> Comment.eager_load(:post).find(1).post # => #<Post id: 1, ...> end
Association loading isn't to be affected by null relation scoping
activerecord/lib/active_record/relation.rb
、
activerecord/lib/active_record/scoping/named.rb
の修正です。
associationのロード処理がnul relationのscoping
の影響を受けないよう修正しています。
There is no need to check null_relation?
in empty_scope?
activerecord/lib/active_record/relation.rb
の修正です。
Relation#empty_scope?
メソッドからnull relationかどうかのチェック処理を削除しています。その先にあるvalues
のチェック処理でチェックができる為。
Don't repeat same expression in SELECT and GROUP BY clauses
activerecord/lib/active_record/relation/calculations.rb
の修正です。
SELECT
とGROUP BY`で同じ式が含まれないよう修正しています。