| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
armstrjare/fix_query_null_foreign_key_on_new_record_collection_ids_reader
Fixes CollectionAssociation#ids_reader returning incorrect ids for new records
|
| | |
|
|/
|
|
|
|
|
| |
regression test + mysql2 adapter raises correct error if conn is closed.
Conflicts:
activerecord/CHANGELOG.md
|
| |
|
| |
|
|
|
|
|
|
|
| |
Fix the `:primary_key` option for `has_many` associations.
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/associations/has_many_association.rb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a backport of #10417
fixes bug introduced by #3329
These are the conditions necessary to reproduce the bug:
- For an association, autosave => true.
- An association record is being destroyed
- A new association record is being created.
- There is a unique index one of the association's fields.
- The record being created has the same value as the record being
destroyed on the indexed field.
Before, the deletion of records was postponed until after all
insertions/saves. Therefore the new record with the identical value in
the indexed field caused a non-unique value error to be thrown at the
database
level.
With this fix, the deletions happen first, before the insertions/saves.
Therefore the record with the duplicate value is gone from the database
before the new record is created, thereby avoiding the non-uniuqe value
error.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that #exists? and others can produce invalid SQL: "SELECT DISTINCT DISTINCT"
The combination of a :uniq => true association and the #distinct call
in #construct_limited_ids_condition combine to create invalid SQL, because
we're explicitly selecting DISTINCT, and also sending #distinct on to AREL,
via the relation#distinct_value.
Where #6792 was the forever fix, this is the minimal fix. Instead of
properly indicating the distinctness of the query through #uniq_value alone,
we use a literal select statement and set #uniq_value to always be falsey
|
|
|
|
|
|
| |
This is a backport of #10164, already merged into
master. The issue is described in lengthy detail
in issues #3002 and #5494.
|
|
|
|
| |
Now with a non-broken test.
|
|
|
|
|
|
| |
Reason: This was backported, but the test does not pass as is.
This reverts commit a33d320cf4b57fabd9c299b09c217ee3955ecc77.
|
|\
| |
| | |
Don't try to EXPLAIN select_db calls
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
See #9777 for details.
Previously pluck is not returning what we wanted to
Added a test also to make sure it's working fine.
This will also fix the build for 1.8.7 as we
were doing some sort on hash.
Thanks @pixeltrix for helping me out.
Thanks @linduxed for pairing with me.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 724020278480855bddfe749c91f1074d4f50f3c6, reversing
changes made to e4e2bcce75b85fb8c1c49509a17bd5dfe6034c32.
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/relation/calculations.rb
activerecord/test/cases/calculations_test.rb
Reason: This caused a regression since it changed the behavior in a
stable release.
Fixes #9777
|
|/
|
|
|
|
|
|
|
|
|
| |
Confirm a record has not already been destroyed before decrementing counter cache
Conflicts:
activerecord/CHANGELOG.md
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/associations/builder/belongs_to.rb
|
| |
|
|
|
|
|
|
|
|
| |
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
activerecord/test/cases/schema_dumper_test.rb
|
|\
| |
| |
| |
| | |
* 3-2-later:
adding test for CVE
|
| | |
|
| |
| |
| |
| | |
[3.2] Fix test failure for ruby 1.8.
|
| |
| |
| |
| |
| |
| | |
[3.2] active_record: Quote numeric values compared to string columns.
Conflicts:
activerecord/CHANGELOG.md
|
|\ \
| | |
| | | |
Fixes Issue #7490: Chained scopes will preload properly
|
| | | |
|
| | |
| | |
| | | |
This is backported from master (cdfcbc4).
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Closes #9806.
As the `through_options` always contained `{:order=>nil}` the second time,
the preloader ran, the association was always reset. This patch only
adds the `:order` to the `through_options` if it is set.
|
| | |
| | |
| | |
| | |
| | | |
Conflicts:
activerecord/CHANGELOG.md
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 3-2-13:
bumping to 3.2.13
fix protocol checking in sanitization [CVE-2013-1857]
JDOM XXE Protection [CVE-2013-1856]
fix incorrect ^$ usage leading to XSS in sanitize_css [CVE-2013-1855]
stop calling to_sym when building arel nodes [CVE-2013-1854]
Merge pull request #9616 from exviva/multiple_select_name_double_square_brackets
bumping to rc2
Revert "Merge pull request #8209 from senny/backport_8176"
Freeze columns only once per Result
Preparing for 3.2.13.rc1 release
Update CHANGELOGs for 3.2.13 release.
Conflicts:
actionmailer/CHANGELOG.md
actionpack/CHANGELOG.md
activemodel/CHANGELOG.md
activeresource/CHANGELOG.md
activesupport/CHANGELOG.md
railties/CHANGELOG.md
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 724020278480855bddfe749c91f1074d4f50f3c6, reversing
changes made to e4e2bcce75b85fb8c1c49509a17bd5dfe6034c32.
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/relation/calculations.rb
activerecord/test/cases/calculations_test.rb
|
| | |
| | |
| | |
| | |
| | | |
The `skip` method is a no-op on Ruby 1.8.7 so we still need to
force skip by returning early from each test.
|
|\ \ \
| | | |
| | | | |
Removing FIXME
|
| | | |
| | | |
| | | | |
As we did in master.
|
|\ \ \ \
| | | | |
| | | | | |
Fix issue #7526. Reload the association target if it's stale.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* This has been fixed at master via `365b8b6`, but not at 3-2-stable branch.
* @stale_state should be nil when a model isn't saved. via `0f3901e`.
* set @stale_state to nil when reset the target.
|
|/ / / /
| | | |
| | | |
| | | | |
cannot be larger than 30 characters
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Oracle adapter."
This reverts commit 7544c7a9f290a3ea25099ae38d52795458391785.
Oracle enhanced adapter is supporting remove_column with Array.
|
| |/ /
|/| |
| | |
| | | |
backport pull request#5837 to 3-2-stable
|
| | |
| | |
| | |
| | | |
This reverts commit 921a296a3390192a71abeec6d9a035cc6d1865c8.
|
| | | |
|
| | |
| | |
| | |
| | | |
scope.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Backport #2312.
Fixes #9367.
I also added a test-case to make sure that renaming or removing
a column preserves the primary key.
|
| | |
| | |
| | |
| | | |
desired order
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The build only failed for ruby-1.8.7 and pg. The problem was that the statement:
```ruby
author = Author.includes(:comments_with_order_and_conditions, :posts).first
```
resulted in Author with ID 2 where on all other rubies / db-engines Author with ID 1
was retunred. Of course this breaks the assertions.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Backport #9252.
Conflicts:
activerecord/CHANGELOG.md
activerecord/test/cases/associations/eager_test.rb
The preloader code on 3-2-stable is not based on relations but on option hashes.
I had to modify the original patch and comparing the option hashes could be more
fuzzy than comparing the relations. All the tests passed though.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, when `time_zone_aware_attributes` were enabled, after
changing a datetime or timestamp attribute and then changing it back
to the original value, `changed_attributes` still tracked the
attribute as changed. This caused `[attribute]_changed?` and
`changed?` methods to return true incorrectly.
Example:
in_time_zone 'Paris' do
order = Order.new
original_time = Time.local(2012, 10, 10)
order.shipped_at = original_time
order.save
order.changed? # => false
# changing value
order.shipped_at = Time.local(2013, 1, 1)
order.changed? # => true
# reverting to original value
order.shipped_at = original_time
order.changed? # => false, used to return true
end
(cherry picked from commit bc982cbcb34129ea2cfe8aa1f8e0b40e444e68db)
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb
Backport of #9073
Fixes #8898
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit c5451777b038c5e48567f69256986ae42a2cde48.
Conflicts:
activerecord/CHANGELOG.md
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
don't cache invalid subsets when preloading hmt associations
Conflicts:
activerecord/CHANGELOG.md
activerecord/test/cases/associations/eager_test.rb
|