なるようになるブログ

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

rails commit log流し読み(2017/11/11)

2017/11/11分のコミットです。

CHANGELOGへの追加はありませんでした。


Relation merging should keep joining order

activerecord/lib/active_record/relation/merger.rbの修正です。

複数joinを行った場合に、そのjoinの順序が保持されていなかったのを保持するよう修正しています。joinの順番に意味がある(scopeのmergeの順に意味がある場合等)場合がある為。


Add missing autoload Type (#31123)

Active Modelの修正です。

autoloadの対象にType moduleを追加しています。

Attribute modules (Attribute, Attributes, AttributeSet)はTypeを使用しており、かつ、左記moduleはautoloadされるのですが、左記moduleがautoloadされて使用される状態になってもType moduleがloadされてない事がある為、それを避ける為にTypeもautoloadされるよう対応したようです。


Should test actual error which is raised from the database

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

ER_LOCK_WAIT_TIMEOUTが発生した場合にActiveRecord::TransactionTimeoutがraiseされる事を確認するテストで、SIGNAL 構文を使ってエラーを起こしていたのを、実際にtimeoutが発生する状態を作成しテストをするようにしています。


Raise TransactionTimeout when lock wait timeout exceeded for PG adapter

Active Recordの修正です。

Merge pull request #30360 from gcourtemanche/transaction_timedoutで、ロック待機のタイムアウトの期限が切れた場合にTransactionTimeoutクラスをraiseする対応をMySQL adapterに行ったのですが、同様の対応をPostgresSQL adapterにも行っています。