2023/12/14分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
TrilogyAdapter: ignore host if socket is set
activerecord/lib/active_record/connection_adapters/trilogy_adapter.rb
の修正です。
TrilogyAdapterで、socket
parameterが設定されている場合、host
parameterの値は無視するよう修正しています。DATABASE_URL
にUNIX socketを指定しての接続を行えるようにするため。
DATABASE_URL=trilogy://does-not-matter/my_db_production?socket=/var/run/mysql.sock
activerecord/lib/active_record/connection_adapters/trilogy_adapter.rb
の修正です。
コード内のコメント内のタイポを修正しています。
Prevent duplicate records when preloading has_many
activerecord/lib/active_record/associations/preloader/association.rb
の修正です。
ActiveRecord::Associations::Preloader
でhas_many associationをpreloadする際に、同じrecordが重複して設定されてしまうバグがあったのを修正しています。
Fix load_async
for null relations
activerecord/lib/active_record/relation.rb
の修正です。
null relationに対してload_async
を実行した場合の戻り値をPromise::Complete
からFutureResult::Complete
に変更しています。普通のrelationをloadした場合と同様に、scheduled?
等のメソッドによるチェックを行えるようにする為。
Add doc for assert_queries
and assert_no_queries
activerecord/lib/active_record/testing/query_assertions.rb
、
activerecord/test/cases/assertions/query_assertions_test.rb
の修正です。
assert_queries
とassert_no_queries
にdocを追加、及び、それらのメソッドのテストでエラーメッセージの出力内容等も確認するよう修正しています。
Fix Model.none.async_pluck
to return a Promise
activerecord/lib/active_record/relation/calculations.rb
の修正です。
null relationに対してload_async
を実行した場合の戻り値をArray
からPromise::Complete
に変更しています。他のasync系のメソッドとインターフェイスを合わせる為。
Document assert_queries and assert_no_queries [ci-skip]
rails guideのTesting Rails Applications
の修正です。
Railsが提供しているassertionの一覧にassert_queries
とassert_no_queries
を追加しています。