なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2016/11/27)

2016/11/27分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md


Update RELEASING_RAILS.md for rails-ujs

RELEASING_RAILS.mdの修正です。

rails-ujsのリリースについての説明を追加しています。


Clear available connections immediately

activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rbの修正です。

ActiveRecord::ConnectionAdapters::ConnectionPool#disconnect#clear_reloadable_connectionsメソッドで available connectionsをclearするよう修正しています。

他のスレッドが、まだ使用出来るコネクションがあると判断し誤って使用してしまうのを防ぐ為のようです。なお、元々clearするようになっていたのですが、Distribute connections to previously blocked threads when we're doneで誤って削除してしまっていたので、処理を戻しています。


We expect exceptions; abort will just raise in the wrong place

activerecord/test/cases/adapters/mysql2/transaction_test.rbactiverecord/test/cases/adapters/postgresql/transaction_test.rbの修正です。

transactionのテストで明示的にThread.abort_on_exceptionにfalseを設定して、スレッドが例外で終了してもインタプリタ全体は終了しないようにしています。


Only start rabbitmq when we need it

.travis.ymlの修正です。

毎回rabbitmqを起動していたのを、rabbitmqが必要なテスト(Active Jobのintegrationテスト)でのみ起動するよう修正しています。


abort_on_exception can't be disabled for a single thread

activerecord/test/cases/adapters/mysql2/transaction_test.rbactiverecord/test/cases/adapters/postgresql/transaction_test.rbの修正です。

先ほどtransactionのテストで明示的にThread.abort_on_exceptionにfalseを設定するようにしたのですが、abort_on_exceptionはグローバルに設定される値で他のテストにも影響が出てしまうので、テストの後処理でabort_on_exceptionに元の値を設定するよう修正しています。


Merge pull request #26865 from sergey-alekseev/uniqueness-validation-scope-with-polymorphic-association

activerecord/lib/active_record/validations/uniqueness.rbの修正です。

polymorphic associationを使用している場合に、uniqueness validationにscopeを指定した場合に、association毎にuniqueチェックが行われないバグがあったのを修正しています。