It looks like these methods all get included into the AbstractAdapter,
and then in github/github we have our own Adapter as an internal gem.
So this should be easy enough to override in our vendor'ed adapter.
This will allow us to still grab errors that happen in `after_commit`
which would normally be swallowed in Rails 3.0 (and beyond).
Conflicts:
activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb
should fix issues with commit callbacks getting called when the record
is not persisted (yet) in a inner transaction or due to some other edge
case.
see also caabed6c76
Conflicts:
activerecord/lib/active_record/transactions.rb
This includes fixing typos in changelog, removing a deprecated
mocha/setup test require, and preferring the `column_for_attribute`
accessor over direct access to the columns_hash in the new code.
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/locking/optimistic.rb
When calling quote_value the underlying connection sometimes requires
more information about the column to properly return the correct quoted
value.
I ran into this issue when using optimistic locking in JRuby and the
activerecord-jdbcmssql-adapter. In SQLSever 2000, we aren't allowed to
insert a integer into a NVARCHAR column type so we need to format it as
N'3' if we want to insert into the NVARCHAR type. Unfortuantely, without
the column type being passed the connection adapter cannot properly return
the correct quote value because it doesn't know to return N'3' or '3'.
This patch is fairly straight forward where it just passes in the column
type into the quote_value, as it already has the ability to take in the column,
so it can properly handle at the connection level.
I've added the tests required to make sure that the quote_value method
is being passed the column type so that the underlying connection can
determine how to quote the value.
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/locking/optimistic.rb
This change fixes a bug by which 3.2-STABLE users can't globally override the default STI inheritance column with `ActiveRecord::Base.inheritance_column = 'some_column'`. 3.2-STABLE users are forced to use a deprecated method or monkey patch it otherwise.
Test case written by tkhr <takehiro0740@gmail.com>.