Remove sqlite specific`supports_autoincrement?` which always defaults to true
Just change ENV and restore it afterwards.

Stubbing ENV[] is not safe outside MRI. At some point after the
stubbing has occurred a backtrace is printed to the ActiveSupport
warning log: there Rubinius accesses ENV['RBX_NOCOLOR'] to determine
if it should print the backtrace with colors or not, causing the
stub to fail. Other implementations might access ENV in a different
way too, we just can't predict it.
The only thing we can do here is to actually set the ENV with what
we want and restore it afterwards.
Assert presence of "frozen" in error message, not the full MRI message.

Related to all the other issues regarding message independent assertions
to make Rails compatible with other Ruby implementations other than MRI.

The best way here would be to have a specific error raised when modifying
frozen objects, like FrozenObjectError or something. But since Ruby
doesn't provide such a thing, we must limit the assertion to the lowest
common denominator, which is word "frozen".
Allow methods arity below -1 in assert_responds.

Every method from MRI's core classes is written in C. This means
Method#arity always returns -1 for methods with a variable number of
arguments. This is not the case with Rubinius, where, for example
Array#slice! is implemented in Ruby and has arity -2, since is
defined as def slice!(start, length = undefined)
`Relation#count` doesn't use options anymore.
Stop accepting `options` for `Relation#average`, `Relation#minimum`, `Relation#maximum`, `Relation#calculate`, `perform_calculation`, `NullRelation#calculate` as they isn't used anymore.
Make missed association exception message more informative

Add target class name, which should have missed association on preload,
into exception message to simplify detecting problem part.
Merge pull request #12511 from jetthoughts/informative_raise_message_for_incorrect_association

Make missed association exception message more informative
Merge pull request #12456 from razielgn/ar-test-fixes

Fixed MRI dependent stuff in AR tests
Generate subquery for Relation passed as array condition for where

Instead of executing 2 queries for fetching records filtered by array condition with Relation,
added generation of subquery to current query.

This behaviour will be consistent when passes Relation as hash condition to where

Closes: #12415
Merge pull request #12508 from jetthoughts/12415_generate_subqueries_for_relation_from_binding_params

Generate subquery for Relation passed as array condition for where

Conflicts:
	activerecord/CHANGELOG.md
Add nodoc to method
Merge pull request #12518 from vipulnsward/remove_count_options

`Relation#count` doesn't use options anymore.
inversed instance should not be reloaded after stale state was changed

check at association reader that record is inverted and should not be reloaded because of stale was changed at target record
add inversed accessor to association class
Add a note to the changelog for #9499
newline at end of structure.sql file
Merge pull request #12486 from cjolly/newline-eof-structure-sql

newline at end of structure.sql file
Dump the default function when the primary key is uuid

Fixes #12489
Push default_function to superclass to avoid method check