2017/06/06分のコミットです。
CHANGELOGへの追加はありませんでした。
Remove deprecated passing of string to :if/:unless (#29357)
rails guideのActive Record Validations
の修正です。
Combining Validation Conditions
の項に、deprecatedになっていたif
オプションにStringを渡すexampleがあったのを修正しています。
[ci skip] UNIQUE constraint affects not only INSERT but also UPDATE
activerecord/lib/active_record/errors.rb
のdocの修正です。
RecordNotUnique
のdocにINSERT処理でユニーク制約に違反した場合にraiseされる旨説明がされていたのですが、実際はUPDATEでも発生する可能性はある為、その旨説明を修正しています。
Fix indentation + Add backticks [ci skip]
activesupport/CHANGELOG.md
の修正です。
インデントの修正及びメソッド名をバッククォートで囲むよう修正しています。
Remove html tag making markdown misrender [ci skip]
CONTRIBUTING.md
の修正です。
不要なbrタグがあったのを削除しています。
Let’s test nokogiri 1.8 against edge Rails, and vice versa
Gemfile.lock
の修正です。
nokogiriのバージョンを1.8に更新しています。
Fix test_pluck_without_column_names
when using Oracle
activerecord/test/cases/calculations_test.rb
の修正です。
pluck
にカラム名を指定しない場合のテストがOracle adapterで失敗していたのを修正しています。
- assert_equal [[1, "Firm", 1, nil, "37signals", nil, 1, nil, ""]], - Company.order(:id).limit(1).pluck + if current_adapter?(:OracleAdapter) + assert_equal [[1, "Firm", 1, nil, "37signals", nil, 1, nil, nil]], Company.order(:id).limit(1).pluck + else + assert_equal [[1, "Firm", 1, nil, "37signals", nil, 1, nil, ""]], Company.order(:id).limit(1).pluck + end
上記テストはデフォルトに空文字を指定したschemaを使用しているのですが、Oracleは空文字とNULを区別しない為、空文字ではなくNULLを返ってくる為上記のような分岐処理を追加し対応したとの事です。
PostgreSQL 10 converts unknown OID 705 to text 25
activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rb
の修正です。
PostgreSQLで認識できないtypeが指定された場合のテストで、存在しない要素をSELECT
に指定していたのを、pg_catalog.pg_class'::regclass
を使用するよう修正しています。
- @connection.select_all "SELECT NULL::anyelement" + @connection.select_all "select 'pg_catalog.pg_class'::regclass"
PostgreSQL 10までは上記テストが通っていたのですが、PostgreSQL 10で認識できないOIDの場合にftype 25(typename: text)を返すようになってしまった為、元のテストでは通らなくなってしまった為pg_class
を使用するよう修正したようです。
参考:Re: ‘text’ instead of ‘unknown’ in Postgres 10
Merge pull request #29362 from kamipo/remove_redundant_assert_nothing_raised
Active Recordのテストの修正です。
本来テストを行いたい箇所とは別な箇所でassert_nothing_raised
を使用していたのを削除しています。