2016/12/06分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Don't try to run multiple insert queries at once
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rbの修正です。
schema_migrations のinsert処理で、multi-row-insertが使用できない場合複数のINSERT文を一度に実行するようになっていたのを、INSERT文毎に別にSQLを実行するようにしています。
SQLiteのデフォルトのquery interfaceでは、最初のセミコロンの後のqueryは無視されるようになっており、複数のINSERTを同時に実行する事ができない為修正したようです。
Make :auto_increment to internal primary key option
activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb、
activerecord/lib/active_record/connection_adapters/sqlite3/schema_definitions.rbの修正です。
schemaのprimary keyを定義する際に、PostgreSQL、SQLite adapterでも:auto_incrementオプションを指定出来るよう修正しています。
:auto_incrementオプションが指定された場合、PostgreSQLではserial型、SQLiteではprimary_key(NTEGER PRIMARY KEY AUTOINCREMENT NOT NULL)として扱われるようになっています。primary keyのデフォルトをBIGINTに変える対応(Change Default Primary Keys to BIGINT)が行われており、その対応の関連との事です。
Merge pull request #26266 from jmccartie/jm/bigint
Active Recordの修正です。
新規に作成するテーブルのprimary keyに、PostgreSQLはbigserialを、MySQLではbigintをそれぞれ使用するよう修正しています。
型を変更した事によるパフォーマンスの影響は無く、テーブルが巨大化した場合には当然bigserial / bigintの方が良い為、デフォルトを変更したようです。
Do not try to set the content_type if the format is nil
actionpack/lib/action_controller/metal/rendering.rbの修正です。
ActionController::Rendering#_set_rendered_content_typeメソッドで、formatがnilの場合はcontent_typeを設定しないよう修正しています。
Make :auto_increment option works on :bigint
activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rb、
activerecord/lib/active_record/connection_adapters/sqlite3/schema_definitions.rbの修正です。
先ほどの:auto_incrementオプションの対応について、bigint型の場合も処理が動作するよう修正しています。
Remove unnecessary connection_name variable
activerecord/lib/active_record/migration/compatibility.rbの修正です。
不要なconnection_name変数を削除しています。
Merge pull request #26687 from kamipo/fix_add_index_to_normalize_options https://github.com/rails/rails/commit/5ff0d828f1f39b894a4b6752bddc5b3b96a61ec1
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb、
activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rbの修正です。
add_indexメソッドでcolumn namesとoptionのkeyを全てSymbolに変換するよう修正しています。StringとSymbolが混在した場合にエラーになってしまう問題があった為。
railties/lib/rails/generators/rails/app/templates/config/puma.rbの修正です。
デフォルトのpuma.rbのコメントのフォーマットを修正しています。
Translate NOT NULL violation to the specific exception
Active Recordの修正です。
insert or update実行時にNOT NULL violationでエラーになった場合に、StatementInvalidではなく、NOT NULL violation用のエラークラス(NotNullViolation)をraiseするよう修正しています。
Should inherit StatementInvalid rather than WrappedDatabaseException
activerecord/lib/active_record/errors.rbの修正です。
MismatchedForeignKeyクラスの親クラスをWrappedDatabaseExceptionからStatementInvalidに変更しています。
WrappedDatabaseExceptionは互換性の為だけにある無効なクラスで、新規のエラークラスはStatementInvalidを継承するのが適切な為、のようです。