2019/02/16分のコミットです。
CHANGELOGへの追加はありませんでした。
activesupport/lib/active_support/message_encryptor.rb
、
activesupport/lib/active_support/message_verifier.rb
のdocの修正です。
upto
をup to
に修正しています。
AbstractController::Translation#t: dup options
actionpack/lib/abstract_controller/translation.rb
の修正です。
AbstractController::Translation#translate
メソッドの先頭で引数のoptions
をdupするよう修正しています。メソッド内でoptions
の値を変更しており、元の値に影響を与えないようにする為。
Merge pull request #35262 from gmcgibbon/reword_ar_rdbms_note
rails guideのActive Record Basics
の修正です。
Object Relational Mapping
の項にあるRDBMSに関する説明の箇所の言い回しを修正しています。
Implement AS::Dependencies.verbose= compatibility for :zeitwerk mode
activesupport/lib/active_support/dependencies/zeitwerk_integration.rb
の修正です。
autoloaderにzeitwerk
を使用している場合に、ActiveSupport::Dependencies.verbose=
の指定が無視されてしまっていたのを、ActiveSupport::Dependencies.verbose=
に指定された値に合わせてログを出力するよう修正しています。
Allow to pass options to csp_meta_tag
actionview/lib/action_view/helpers/csp_helper.rb
の修正です。
csp_meta_tag
メソッドに任意のオプションを指定出来るよう修正しています。name
以外のattribtue(e.g. property
)を指定出来るようにするため。
Show deprecated message instead of raise exception in compiled_method_container
method
actionview/lib/action_view/base.rb
の修正です。
ActionView::Base#compiled_method_container
メソッドで、メソッドが独自に定義されていない場合にNotImplementedError
をraiseしていたのを、deprecateメッセージを出すよう修正しています。
Move compiled ERB to an AV::Base subclass以降、ActionView::Base
の子クラスではcompiled_method_container
メソッドを定義するのが必須になっていたのですが、それだとbreaking changeになってしまう為、(挙動としてはちょっと怪しいが)エラーにはならないよう修正しています。
Merge pull request #35286 from matthewdunbar/master
activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb
の修正です。
cached queriesを処理する際にbind paramsが制限値以上の場合に、prepared statementを使用しないよう修正しています。
Fallback to unprepared statement only when bind params limit is exceededで行った対応と同じ内容をcached queriesの場合も行うようにしています。
Add changelog entry for #35212
activerecord/CHANGELOG.md
の修正です。
sqlite3 adapterにadd_foreign_key
/ remove_foreign_key
メソッドを追加した、SQLite3: Implement add_foreign_key
and remove_foreign_key
の対応についてCHANGELOGにエントリーを追加しています。
Refactor remove_foreign_key
to delete the foreign key before alter_table
activerecord/lib/active_record/connection_adapters/sqlite3/schema_statements.rb
の修正です。
remove_foreign_key
メソッドでalter_table
を行うより先にforeign keyの削除処理を行うようリファクタリングしています。
Remove NoForeignKeySupportTest
which is no longer reached
activerecord/test/cases/migration/foreign_key_test.rb
、
activerecord/test/cases/migration/references_foreign_key_test.rb
の修正です。
NoForeignKeySupportTest
を削除しています。現状、全てのadapterでforeign keyをサポートしており、処理が実行されない為。
Fix possible memory leak of ConnectionHandler
activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
の修正です。
ConnectionHandler#initialize
メソッド内のblockで行っていたpoolの作成処理をクラスメソッド(create_owner_to_pool
)に切り出しています。
ここで作成したpoolはObjectSpace.#define_finalizer
を使用してobj解放時にdiscardされるようになっています(実際の処理はunowned_pool_finalizer
メソッド)。元の実装だと間接的にhandlerの参照が残っている状態(finalizer proc -> @owner_to_pool -> initializerという流れ)になってしまっており、結果handlerがGCされない、という問題がありました。
それを避ける為(参照が残らないようにする為)にクラスメソッドにするよう修正しています。
参考: