なるようになるブログ

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

rails commit log流し読み(2023/04/25)

2023/04/25分のコミットです。

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


Document query cache invalidation for raw_connection

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

raw_connectionメソッドのdocにraw_connection経由でDBを変更した場合、Active Recordはその変更を追跡していないこと、及び、query cacheを手動で無効化したい場合、ActiveRecord::Base.clear_query_cacheを使えば良い旨の説明を追加しています。


Fix pg 1.5 deprecation warning

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

pg gem 1.5でdeprecatedになったメソッドを使っている箇所があったのを修正しています。


Use RDoc markup

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

raw_connectionメソッドのdocのフォーマットを修正しています。


MySQL2 and TrilogyAdapter: stop using #execute as internal API

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

public APIであるexecuteRails内部でだけ使用するオプションが露呈してしまっていたのを削除し、executeRails内部用のAPIとして使わないよう修正しています。


Make TrilogyAdapter #each_hash and #error_number private

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

Rails内部でだけ使用する想定のメソッドの可視性をprivateに変更しています。


Extract Trilogy::DatabaseStatements

activerecord/lib/active_record/connection_adapters/trilogy/database_statements.rbactiverecord/lib/active_record/connection_adapters/trilogy_adapter.rbの修正です。

Trilogy::DatabaseStatementsを専用のファイルに切り出しています。他のadapterと合わせる為。


TrilogyAdapter: add some missing nodoc and remove a dead method

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

内部用のメソッドのdocがAPI docに表示されないよう対応、及び、使用していないメソッドを削除しています。


Fix find_or_create_by/find_or_create_by! when used within concurrent transactions

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

find_or_create_by/find_or_create_by!をconcurrent transaction内で実行した場合にRecordNotUniqueではなくRecordNotFoundがraiseされるバグがあったのを修正しています。


TrilogyAdapter: implement AdapterConnectionTest primitives

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

TrilogyAdapterでAdapterConnectionTestが実行されるよう修正しています。


Merge pull request #48061 from Shopify/ar-execute-clear-cache

Active Recordの修正です。

Rails 7.0以降、executeを実行した場合にquery cacheが自動的に削除されないようになっていたのを、再度自動的に削除されるよう修正しています。


Only flatten first level to preserve nested

activesupport/lib/active_support/core_ext/enumerable.rbの修正です。

in_order_ofにnextした値を指定した場合に、nestが全て展開された結果が返っていたのを、1段階まで展開するよう修正しています。Rails 7.0までと同じ結果が変えるようにする為。