Only use BINARY for mysql case sensitive uniqueness check when column has a case insensitive collation.
Ensure LookupContext in Digestor selects correct variant

Related to: #14242 #14243 14293

Variants passed to LookupContext#find() seem to be ignored, so
I've used the setter instead: `finder.variants = [ variant ]`.

I've also added some more test cases for variants. Hopefully this
time passing tests will mean it actually works.
[ci skip] Add documentation for original_fullpath.
Merge pull request #14291 from laurocaetano/doc-for-original-fullpath

Add documentation for original_fullpath. [ci skip]
MySQL 5.6 and later supports microsecond precision in datetime.

You might want to branch it to include this only for 5.6, but
passing these values to < 5.6 doesn't cause issues either.
Test microsecond on mysql 5.6
Changelog entry for mysql56 microseconds
Merge pull request #14359 from arthurnn/mysql2_56_franc_sec

MySQL 5.6  Fractional Seconds
Merge pull request #13040 from kamipo/case_sensitive_comparison

Only use BINARY for mysql case sensitive uniqueness check when column has a case insensitive collation.

Conflicts:
	activerecord/CHANGELOG.md
Unit test for mysql quote time usec
Change usec to 0 on tests that compare seconds

Avoid rounding problems with `.usec` method rounding the seconds when the
field doesn't persist the `.usec` piece.
Enhance docs for update_attribute [ci-skip]
Merge pull request #14363 from arthurnn/usec_tests_mysql56

Add more tests for mysql 5.6 microseconds + Fix tests
use method_defined? to check whether or not a method is defined
Merge pull request #14364 from why-el/better-docs-for-update-attribute

Enhance docs for update_attribute [skip ci]
Fix a grammatical error in the i18n guide [ci skip]
Merge pull request #14366 from sukolsak/grammar

Fix a grammatical error in the i18n guide
only write the jar if the response isn't committed

when streaming responses, we need to make sure the cookie jar is written
to the headers before returning up the stack. This commit introduces a
new method on the response object that writes the cookie jar to the
headers as the response is committed.  The middleware and test framework
will not write the cookie headers if the response has already been
committed.

fixes #14352
just ask the response for the commit status, we do not need to ask the jar
use the body proxy to freeze headers

avoid freezing the headers until the web server has actually read data
from the body proxy.  Once the webserver has read data, then we should
throw an error if someone tries to set a header