2022/07/30分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Automatically reconnect broken database connections when safe, even mid-request.
- Avoid redundant
SELECT 1
connection-validation query during DB pool checkout when possible. - Introduce a simpler constructor API for ActiveRecord database adapters.
Merge pull request #45684 from adrianna-chang-shopify/ac-build-change-column-definition
Active Recordの修正です。
ChangeColumnDefinition
objectの生成処理をbuild_change_column_definition
メソッドの切り出しています。
Merge pull request #45685 from adrianna-chang-shopify/ac-build-create-join-table-definition
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
の修正です。
join table用のTableDefinition
objectの生成処理をbuild_create_join_table_definition
メソッドに切り出しています。
Avoid dynamic constant get on SET.symbols
actionview/lib/action_view/template/types.rb
の修正です。
SET.symbols
のcontantを動的に取得していたのを、delegate定義時に値を取得し、取得済みの値を利用するよう修正しています。動的に処理を行うのは少し遅い、yjitが現在はgetconstant
を実装しておらず動的に処理を行うとyjitの恩恵を受けれない、等の理由により。
Merge pull request #44576 from rails/defer-db-verify
Active Recordの修正です。
request処理の途中でDBのconnectionが壊れた場合、安全と見なされる場合(実行されるSQLが冪等である、トランザクション中ではない、等)、自動でDBへの再接続及びSQLの再実行を行うよう修正しています。デフォルトで再接続が行われるようになっており、無効化したい場合はconnection_retries
に0を指定する必要があります。
Merge pull request #44591 from rails/defer-db-connect
Active Recordの修正です。
実行されるSQLが冪等なSQLな場合、connection-validation query(SELECT 1
)を実行せずに直接対象のSQLを実行するよう修正、及び、ActiveRecord database adapterを構築する際にraw connectionの指定が必須だったのを、config hashだけを指定の構築が出来るよう修正しています。
Add changelog entries for #44576 and #44591
activerecord/CHANGELOG.md
の修正です。
先のDefer verification of database connectionsとSimplify adapter construction; defer connect until first useの対応についてのエントリーをCHANGELOGに追加しています。
Merge pull request #45688 from jonathanhefner/session-cookies-default-same_site
actionpack/lib/action_dispatch/middleware/cookies.rb
、
actionpack/lib/action_dispatch/middleware/session/cookie_store.rb
の修正です。
session cookiesへのSameSite
attributeへのデフォルト値の設定が正しく行われないバグがあったのを修正しています。
Merge pull request #45689 from jonathanhefner/encrypted-config-preserve-invalid-yaml
activesupport/lib/active_support/encrypted_configuration.rb
の修正です。
encrypted config内のデータがYAMLとして不正なデータの場合、その旨warningメッセージを表示するよう修正しています。
Document where custom autoloading inflections should go
rails guideのAutoloading and Reloading Constants
の修正です。
autoloaderのinflectionをカスタマイズをしたい場合、どのファイルで定義を行うべきかについて説明したWhere Should Inflection Customization Go?
セクションを追加しています。