rails/activerecord/CHANGELOG.md
Yves Senn d1e7cd14c2 includes uses SQL parsing when String joins are involved.
This is a partial revert of 22b3481ba2aa55fad1f9a5db94072312b345fb55.
The current implementation of `references_eager_loaded_tables?` needs to know
every table involved in the query. With the current API this is not possible
without SQL parsing.

While a2dab46cae35a06fd5c5500037177492a047c252 deprecated SQL parsing for `includes`.
It did not issue deprecation warnings when String joins are involved. This resulted
in a breaking change after the deprecated behavior was removed (22b3481ba2aa55fad1f9a5db94072312b345fb55).

We will need to rethink the usage of `includes`, `preload` and `eager_load` but for now,
this brings back the old *working* behavior.
2014-02-28 09:56:07 +01:00

1.8 KiB

  • includes is able to detect the right preloading strategy when string joins are involved.

    Fixes #14109.

    Aaron Patterson, Yves Senn

  • Fixed error with validation with enum fields for records where the value for any enum attribute is always evaluated as 0 during uniqueness validation.

    Fixes #14172

    Vilius Luneckas Ahmed AbouElhamayed

  • before_add callbacks are fired before the record is saved on has_and_belongs_to_many assocations and on has_many :through associations. Before this change, before_add callbacks would be fired before the record was saved on has_and_belongs_to_many associations, but not on has_many :through associations.

    Fixes #14144

  • Fixed STI classes not defining an attribute method if there is a conflicting private method defined on its ancestors.

    Fixes #11569.

    Godfrey Chan

  • Coerce strings when reading attributes. Fixes #10485.

    Example:

    book = Book.new(title: 12345)
    book.save!
    book.title # => "12345"
    

    Yves Senn

  • Deprecate half-baked support for PostgreSQL range values with excluding beginnings. We currently map PostgreSQL ranges to Ruby ranges. This conversion is not fully possible because the Ruby range does not support excluded beginnings.

    The current solution of incrementing the beginning is not correct and is now deprecated. For subtypes where we don't know how to increment (e.g. #succ is not defined) it will raise an ArgumentException for ranges with excluding beginnings.

    Yves Senn

  • Support for user created range types in PostgreSQL.

    Yves Senn

Please check 4-1-stable for previous changes.