なるようになるブログ

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

rails commit log流し読み(2020/09/14)

2020/09/14分のコミットです。

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

activerecord/CHANGELOG.md


Remove MemCacheStore#write_entry options nil check

activesupport/lib/active_support/cache/mem_cache_store.rbの修正です。

MemCacheStore#write_entryメソッドから不要なoptionsnilの場合のチェックを削除しています。


Merge pull request #40212 from Shopify/active-record-exceptions-wrapping

Active Recordの修正です。

Mysql2Adapter#quote_stringMySQL serverに接続出来なかった場合、ActiveRecord::InvalidStatementではなくActiveRecord::ConnectionNotEstablishedをraiseするよう修正、及び、全てのadapterのexecuteメソッドで、接続エラーになった場合にもActiveRecord::InvalidStatementではなくActiveRecord::ConnectionNotEstablishedをraiseするよう修正しています。


Revert "Merge pull request #19881 from sikachu/silence-mysql-errno-warning"

Revert "Merge pull request #19881 from sikachu/silence-mysql-errno-warning"で対応した修正が、先のActiveRecord::ConnectionNotEstablishedの修正で戻ってしまっていた為、再度同じ修正をコミットしています。


Ensure connects_to can only be called on base or abstract classes

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

connects_toメソッドをActiveRecord::Baseかabstract classでのみ実行出来るようチェックを追加しています。

元々ドキュメントではActiveRecord::Baseかabstract classでのみ使用するよう説明があったのですが、コード上はどのクラスでも実行出来るようになっていました。sub classでconnects_toすると重複したconnectionをオープンしたり、大量のconnectionをオープンしてしまったりする可能性がある為、コード上もActiveRecord::Baseかabstract classでのみ使用するよう修正しています。