なるようになるブログ

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

rails commit log流し読み(2023/12/09)

2023/12/09分のコミットです。

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

railties/CHANGELOG.md

activerecord/CHANGELOG.md


Correct HAVING conditions active_record example query

rails guideのActive Record Query Interfaceの修正です。

HAVING Conditionsセクションにあるexampleコードについて、Rubyのコードの例と実際に生成されるSQLの内容が異なっていたのを修正しています。


Add runner option to disable Executor wrap

railties/lib/rails/commands/runner/runner_command.rbの修正です。

bin/rails runnerに、Executorで処理をwrapせずにスクリプトを実行する為の、--skip-executorオプションを追加しています。長時間実行する処理をrunner経由で指定する場合などで、Executorを実行して欲しくない時がある為とのことです。


Do not instance_eval method into RoutesProxy

actionpack/lib/action_dispatch/routing/routes_proxy.rbの修正です。

RoutesProxyでhelperのメソッドを使用する際に、RoutesProxy内にメソッドを定義していてそこからhelperのメソッドを呼び出していたのを、直接helperのメソッドを呼び出すよう修正しています。メソッドを定義するのにinstance_evalを使用していたのですが、instance_evalにより大量のメモリ消費が行われる可能性があるため、修正したとのことです。


Merge pull request #50079 from tttffff/mysql_null_first_last_consistency

activerecord/lib/arel/visitors/mysql.rbの修正です。

MySQL用のvisitorクラスにnulls_lastの実装を追加、及び、desc.nulls_firstを実行するとエラーになってしまっていたのを修正しています。


Merge pull request #50190 from jhawthorn/retry_checkout_after_reap

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

connection取得処理で、connectionのreap処理後に新しいconnectionが取得出来ないかretryするよう修正しています。reap後であれば使用可能なconnectionが取得出来る可能性があるため。また、合わせて不要なinactiveなconnectionを削除するようにするため。