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処理が呼ばれないバグがあったのを修正しています。