なるようになるブログ

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

rails commit log流し読み(2022/11/30)

2022/11/30分のコミットです。

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

activerecord/CHANGELOG.md


Extract #sync_timezone_changes method in AbstractMysqlAdapter

activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rbactiverecord/lib/active_record/connection_adapters/mysql/database_statements.rbの修正です。

MySQL adapterでquery実行時に行っているtimezoneの設定処理(:database_timezoneオプションの指定処理)をメソッド(sync_timezone_changes)に切り出しています。アプリケーション側でtimezoneの指定処理をオーバーライド出来るようにする為。


More detailed error message for compute_class errors

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

associationのmodel取得処理でエラーになった場合のエラーメッセージについて、:class_nameオプションが指定されていた場合とそうでない場合でエラーメッセージの内容を変えるよう修正しています。


Don't use lower() for citext columns

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

citextカラムに対してcase-insensitiveなqueryを実行する際に、LOWER()を使用しないよう修正しています。citextは大文字小文字の区別がない文字列型でLOWER()の使用が不要、かつ、LOWER()があると逆に性能劣化してしまう為、との事です。


Fix a flaky ActiveRecord finders test

activerecord/test/cases/finder_test.rbの修正です。

不足していたrequireを追加しています。