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になったメソッドを使っている箇所があったのを修正しています。
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.rb、
activerecord/lib/active_record/connection_adapters/trilogy_adapter.rbの修正です。
public APIであるexecuteにRails内部でだけ使用するオプションが露呈してしまっていたのを削除し、executeをRails内部用の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.rb、
activerecord/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までと同じ結果が変えるようにする為。