| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
scope => scoped
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| | |
backport runner fixes to 3-2-stable
Conflicts:
railties/CHANGELOG.md
|
| |
| |
| |
| |
| |
| |
| | |
Add a runner hook to Rails::Application and Rails::Engine that requires
ActiveRecord::Base to avoid circular constant loading when using observers.
This commit backports cc7dd66, c0ba0f0 and 8d01c61.
|
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
Document the possibility to use a hash of hashes for nested attributes for a one-to-many association (in addition to the documented possibility to use an array of hashes).
Align indentation in comments.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
activerecord/CHANGELOG.md
activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
activerecord/test/cases/schema_dumper_test.rb
|
|\ \
| | |
| | | |
Fixes Issue #7490: Chained scopes will preload properly
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is causing a regression since the Active Record Railtie is trying to
connect to the development database in the application boot.
See https://github.com/rails/rails/pull/6197#issuecomment-15199273
|
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | | |
Exception.result is nil when attempting a query after PostgreSQL
disconnect, resulting in new exception:
NoMethodError: undefined method `error_field' for nil:NilClass
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch resets the postgres search path in the structure.sql after
the structure is dumped in order to find schema_migrations table when
multiples schemas are used.
Fixes #945
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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
|
| | | | |
|
| |/ / |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Conflicts:
activerecord/lib/active_record/result.rb
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* With Identity Map enabled, NameError might be raised and @target is
nil. So we should always ensure `@target ||= find_target`.
* Only force reload target when it is 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.
|
| | |
| | |
| | |
| | |
| | | |
Conflicts:
activerecord/lib/active_record/result.rb
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ci skip]
Conflicts:
activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
|
|/ /
| |
| |
| | |
db:fixtures:load.
|
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 3-2-sec:
bumping version
remove ruby-prof
Fix issue with attr_protected where malformed input could circumvent protection
fixing call to columns hash. run the damn tests when you backport!
Bump rack dependency to 1.4.5
Merge pull request #9224 from dylanahsmith/bigdecimal-takes-string
Merge pull request #9208 from dylanahsmith/3-2-mysql-quote-numeric
Conflicts:
Gemfile
activerecord/CHANGELOG.md
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
[3.2] active_record: Quote numeric values compared to string columns.
Conflicts:
activerecord/CHANGELOG.md
|