Merge pull request #12188 from SamSaffron/master

Perf: avoid dupes add fallback logic for coders
Check if the SQL is not a prepared statement

When the adapter is with prepared statement disabled and the binds array
is not empty the connection adapter will try to set the binds values and
will fail. Now we are checking if the adapter has the prepared statement
disabled.

Fixes #12023
Remove invalid comment

This is not valid anymore after 08477a651648ba4417ded128aa37b9ae0dcbc9ce
Fix inverted conditional

Oops, I should had run the tests
Replace JSON.load with JSON.parse, also removed the proc parameter

Since we are dealing with untrusted user input, we should not be
using JSON.load. According to the docs[1]:

BEWARE: This method is meant to serialise data from trusted user
input, like from your own database server or clients under your
control, it could be dangerous to allow untrusted users to pass
JSON sources into it. The default options for the parser can be
changed via the ::load_default_options method.

[1] http://www.ruby-doc.org/stdlib-2.0/libdoc/json/rdoc/JSON.html#method-i-load
Remove conditional adding a new method

At the point we want to add the reflection we already know the
reflection is of the AggregateReflection type so we can call a specific
method
these are not real developer objects, so counting them doesn't make
sense.  Let's load the object to ensure it's an array and count the
array.
Merge pull request #12201 from chancancode/json_load

Replace JSON.load with JSON.parse
Remove unused raw email fixtures

The tests that used the raw_email_* fixtures were removed in d500ad3
Added quotes when defining the precision for the `decimal` fields

before:

```bash
$ rails generate migration AddDetailsToProducts price:decimal{5,2} supplier:references{polymorphic}
```

after:

```bash
$ rails generate migration AddDetailsToProducts 'price:decimal{5,2}' supplier:references{polymorphic}
```
Merge pull request #12205 from claudiob/remove-unused-raw-email-fixtures

Remove unused raw email fixtures
Fix typo on instance variable get call
Disable prepared statements in the unprepared_statement block
Merge pull request #163 from mogetutu/master

Added quotes when defining the precision for the `decimal` fields
Update 4_0_release_notes.md

Active support --> Deprecations Code highlighted.
Merge pull request #12206 from harshadsabne/master

Update 4_0_release_notes.md
Wrap the guides in 80 columns [ci skip]
Merge pull request #11603 from jetthoughts/join_strings_instead_of_contactination

Cleanup: replace String concatenation by joining for excerpt helper
Write the right CHANGELOG entry for #11603

[ci skip]
Enabled quirks mode on JSON.parse, fixes broken test in af9caae

It turns out that ActionPack depends on the decoder to parse JSON
"fragments" (e.g. '"a string"', '1', 'null', etc), so we need to
enable quirks mode on JSON.parse. Also added coverage on the decoder
side to prevent regression.