2019/05/28分のコミットです。
CHANGELOGへの追加はありませんでした。
Use WeakRef to avoid leaking connection pools
activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
の修正です。
Reaperでconnection poolの参照を保持するのにweak referenceを使用するよう修正しています。元の実装(クラス変数で保持)だと使用済みのconnectionがGCで回収されない、という問題があった為。
ruby < 2.5 is no longer supported
activesupport/test/core_ext/object/duplicable_test.rb
、
activesupport/test/dependencies_test.rb
の修正です。
Rubyのバージョンが2.5以上かどうかで処理を分岐している箇所があったのを削除しています。masterは2.5以上のみをサポートしている為。
changes 'Week day' to 'day of week'
rails guideのConfiguring Rails Applications
の修正です。
week day
-> day of week
に修正しています。
remove unused requires from debug_exceptions
actionpack/lib/action_dispatch/middleware/debug_exceptions.rb
の修正です。
使用していないrequire
を削除しています。
stringify_keys and symbolize_keys have stable results.
rails guideのActive Support Core Extensions
の修正です。
stringify_keys
メソッド及びsymbolize_keys
メソッドについて説明している箇所で、キーが衝突した場合どの値が選択されるかわからない旨説明が記載されていたのを、最後の値が選択される旨説明を修正しています。
Rails 6ではRuby本体のstringify_keys
メソッド及びsymbolize_keys
メソッドが使用されるようになっており、Ruby本体のメソッドでは上記挙動になるため。
Allow symbol (i.e. quoted identifier) as safe SQL string
activerecord/lib/active_record/attribute_methods.rb
の修正です。
disallow_raw_sql!
メソッドで引数にSymbolが指定された場合は、引数の解析処理を行わないよう修正しています。Symbolは解析するまでもなく安全な値である、かつ、解析処理は複数のオブジェクトを生成するちょっと遅い処理で処理、不要な場合は処理を行うのを避けたい為。
Don't round off subseconds unless necessary
activemodel/lib/active_model/type/helpers/time_value.rb
の修正です。
datetime
型に精度が指定されていた場合、、必要かどうかにかかわらず必ず1秒未満を四捨五入していたのを、不要な場合は四捨五入を行わないよう修正しています。処理高速化の為。
:datetime
and :time
columns allows :precision
option [ci skip]
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
のdocの修正です。
add_column
メソッドのdoc内、:precision
オプションが指定出来るカラムの一覧に:datetime
と:time
を追加しています。