Improve exception message for HasManyThroughAssociationPolymorphicSourceError

Exception message was misleading, as it is possible to have a
polymorphic 'has_many :through' join model.
Changelog entry for PR #7560
Merge pull request #7591 from bogdan/callbacks-changelog

Changelog entry for PR #7560
Revert "Changelog entry for PR #7560"

This reverts commit ca80067bbe4662c60b933188ad3769605742e812.
Entry already added in 895233
Merge pull request #7592 from bogdan/callbacks-changelog

Revert "Changelog entry for PR #7560"
Support MySQL SSL in rails dbconsole.
Rake assets:precompile shouldn't fail quietly.
We should show to user original issue if rake task will be aborted.
Merge pull request #7586 from route/precompile-should-not-fail-quietly

Rake assets:precompile shouldn't fail quietly.
Add .rb template handler

This handler simply allows arbitrary Ruby code as a template
Merge pull request #7594 from guilleiguaran/rb-template-handler

Add .rb template handler
Merge pull request #7569 from skorfmann/improve-has-many-through-exception-message

Improve exception message for HasManyThroughAssociationPolymorphicSourceError
Merge pull request #7488 from needfeed/master

Have rails dbconsole pass sslca to the mysql command line client.
ConnectionPool, unify exceptions, ConnectionTimeoutError

As a result of different commits, ConnectionPool had become
of two minds about exceptions, sometimes using PoolFullError
and sometimes using ConnectionTimeoutError. In fact, it was
using ConnectionTimeoutError internally, but then recueing
and re-raising as a PoolFullError.

There's no reason for this bifurcation, standardize on
ConnectionTimeoutError, which is the rails2 name and still
accurately describes semantics at this point.

History

In Rails2, ConnectionPool raises a ConnectionTimeoutError if
it can't get a connection within timeout.

Originally in master/rails3, @tenderlove had planned on removing
wait/blocking in connectionpool entirely, at that point he changed
exception to PoolFullError.

But then later wait/blocking came back, but exception remained
PoolFullError.

Then in 02b233556377 pmahoney introduced fair waiting logic, and
brought back ConnectionTimeoutError, introducing the weird bifurcation.

ConnectionTimeoutError accurately describes semantics as of this
point, and is backwards compat with rails2, there's no reason
for PoolFullError to be introduced, and no reason for two
different exception types to be used internally, no reason
to rescue one and re-raise as another.  Unify!
Use native mysqldump command for 'rake db:structure:dump'.
Use configuration['encoding'], because database configuration use not charset but encoding.
Merge pull request #7564 from kennyj/using_mysqldump

Use mysqldump native commands when rake db:structure:dump. Closes #5547
Fixes database tasks config to use encoding instead of charset.
Accept belongs_to assoc. keys in ActiveRecord queries

Allows you to specify the model association key in a belongs_to
relationship instead of the foreign key.

The following queries are now equivalent:

Post.where(:author_id => Author.first)
Post.where(:author => Author.first)

PriceEstimate.where(:estimate_of_type => 'Treasure', :estimate_of_id => treasure)
PriceEstimate.where(:estimate_of => treasure)
Merge pull request #7601 from jrochkind/connection_pool_unify_exceptions

ConnectionPool, unify exceptions, ConnectionTimeoutError
Action Mailer async flag is true by default using a Synchronous impl
fixed support for DATABASE_URL for rake db tasks
- added tests to confirm establish_connection uses DATABASE_URL and
  Rails.env correctly even when no arguments are passed in.
- updated rake db tasks to support DATABASE_URL, and added tests to
  confirm correct behavior for these rake tasks.  (Removed
  establish_connection call from some tasks since in those cases
  the :environment task already made sure the function would be called)
- updated Resolver so that when it resolves the database url, it
  removes hash values with empty strings from the config spec (e.g.
  to support connection to postgresql when no username is specified).