2018/11/27分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Bump minimum PostgreSQL version to 9.3.
- Make the implicit order column configurable.
- Cached columns_hash fields should be excluded from ResultSet#column_types
Merge pull request #34521 from azbshiri/mysql-exec-query-result
activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb
の修正です。
MySQL adapterでexec_query
の実行結果が空の場合にnil
を返していたのを、結果が空の場合もActiveRecord::Result
を返すよう修正しています。他のadapterと挙動を合わせる為。
Merge pull request #34520 from yahonda/bump_pg93
Active Recordの修正です。
supportするPostgreSQLのバージョンを 9.3以上に修正しています。
9.2のEOLから1年以上(2017/09)経っており、もうサポートをしないで良いだろう、という事で修正しています。
Do not use deprecated Object#!~ in Ruby 2.6
activemodel/lib/active_model/validations/numericality.rb
の修正です。
parse_raw_value_as_a_number
メソッドでObject#!~
を使用していたのを、使用しないよう修正しています。Ruby 2.6でObject#=~
がdeprecateになった為。
参考:Feature #15231: Remove `Object#=~`
Use env instead of headers on those tests
actionpack/test/dispatch/show_exceptions_test.rb
の修正です。
ShowExceptions
のテストで値を指定するのにheaders
を使用していたのをenv
を使用するよう修正しています。
ShowExceptions
ではrack envを使用している為、env
を指定する方がより正確だろうという事で修正されています。
Action CableのtestファイルをES2105に変換、及び、テストの実行をKarma + Rollupで行うよう修正しています。
Mutable
helper is in ActiveModel
Active Recordの修正です。
Type::Helpers::Mutable
をincludeする際に、完全修飾名(ActiveModel::Type::Helpers::Mutable
)を使用するよう修正しています。
Revert "We still need the Helpers
constant in the ActiveRecord
namespace"
ActiveModel::Type::Helpers
をHelpers
として定義した、We still need the Helpers
constant in the ActiveRecord
namespaceをrevertしています。
先のType::Helpers
を完全修飾名で指定するようにした対応により不要になった為。
Merge pull request #34480 from tekin/configurable-implicit-ordering-column
activerecord/lib/active_record/model_schema.rb
、
activerecord/lib/active_record/relation/finder_methods.rb
の修正です。
first
やlast
のようなordered finder methodsでorderに使用するカラムがprimary key固定だったのが、任意のカラムを指定出来るよう修正しています。
class User < ActiveRecord::Base self.implicit_order_column = "created_at" end
User.first # =>User Load (0.2ms) SELECT "users".* FROM "users" ORDER BY "users"."created_at" ASC LIMIT ? [["LIMIT", 1]]
primary keyにUUIDのようなauto-incrementing integerじゃない値を使用している場合に、primary keyでorderされても結果は期待通りにならない(first
を使用しても最初の値は取得出来ない)為、そのような場合に任意のカラムでorder出来るようにする為に対応しています。
Cached columns_hash fields should be excluded from ResultSet#column_types
activerecord/lib/active_record/querying.rb
の修正です。
ignored columnに指定したカラムに対して、attribute
を使用していた場合に、PostgreSQL adapterでのみattribute
で指定したtypeのdeserialize
処理が呼ばれないバグがあったのを修正しています。