aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* It's scoped in 3-2-stable!Arun Agrawal2013-05-241-1/+1
| | | scope => scoped
* Merge pull request #10713 from senny/10693_fix_primary_key_option_on_has_manyRafael Mendonça França2013-05-231-2/+1
| | | | | | | Fix the `:primary_key` option for `has_many` associations. Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/associations/has_many_association.rb
* destroys association records before saving/inserting new association recordsJohnny Holton2013-05-181-28/+20
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Backport a super-simplified version of #6792, fixingBen Woosley2013-05-141-0/+1
| | | | | | | | | | | | | 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
* Merge pull request #7695 from benolee/backport_cc7dd66_and_c0ba0f0Rafael Mendonça França2013-05-121-0/+6
|\ | | | | | | | | | | | | backport runner fixes to 3-2-stable Conflicts: railties/CHANGELOG.md
| * backport runner fixes to 3-2-stablekennyj2012-12-161-0/+6
| | | | | | | | | | | | | | 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.
* | Preserve context for joins while merging relationsAndrew Horner2013-05-113-3/+34
| | | | | | | | | | | | This is a backport of #10164, already merged into master. The issue is described in lengthy detail in issues #3002 and #5494.
* | Don't try to EXPLAIN select_db callsDaniel Schierbeck2013-05-121-1/+1
| | | | | | | | Now with a non-broken test.
* | Revert "Don't try to EXPLAIN select_db calls"Xavier Noria2013-05-111-1/+1
| | | | | | | | | | | | Reason: This was backported, but the test does not pass as is. This reverts commit a33d320cf4b57fabd9c299b09c217ee3955ecc77.
* | Using map. No need to run query againArun Agrawal2013-05-101-1/+1
| |
* | Merge pull request #10555 from dasch/dasch/3-2-stableXavier Noria2013-05-101-1/+1
|\ \ | | | | | | Don't try to EXPLAIN select_db calls
| * | Don't try to EXPLAIN select_db callsDaniel Schierbeck2013-05-101-1/+1
| | |
* | | Fixed pluck to be working with selects.Arun Agrawal2013-05-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Remove useless elseArun Agrawal2013-05-101-3/+0
| | |
* | | Revert "Merge pull request #8209 from senny/backport_8176"Rafael Mendonça França2013-05-081-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #10489 from greenriver/ar_counter_cache_multiple_destroyRafael Mendonça França2013-05-061-1/+4
|/ / | | | | | | | | | | | | | | | | | | | | 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 nested attributes as hash of hashesAlexey Muranov2013-04-131-17/+41
| | | | | | | | | | | | 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.
* | Correctly parse bigint defaults in PostgreSQL, Backpost #10098.Erik Peterson2013-04-111-1/+1
| | | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb activerecord/test/cases/schema_dumper_test.rb
* | Merge pull request #7792 from seejee/chained_scopes_preload_properlyCarlos Antonio da Silva2013-04-031-2/+7
|\ \ | | | | | | Fixes Issue #7490: Chained scopes will preload properly
| * | Chained scopes will be preloaded properly. Fixes #7490Chris Geihsler2013-04-031-2/+7
| | |
* | | Removing explain support warning from the RailtieRafael Mendonça França2013-03-281-7/+0
| | | | | | | | | | | | | | | | | | | | | 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
* | | Don't reset inheritance_column when setting explicitly.Fred Wu2013-03-271-1/+3
| | | | | | | | | This is backported from master (cdfcbc4).
* | | do not reset associations when preloading twice.Yves Senn2013-03-221-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Wrong exception is occured when raising no translatable exceptionkennyj2013-03-201-0/+2
| | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG.md
* | | Don't crash exception translation w/ nil result attribute.Steve Jorgensen2013-03-201-1/+1
| | | | | | | | | | | | | | | | | | Exception.result is nil when attempting a query after PostgreSQL disconnect, resulting in new exception: NoMethodError: undefined method `error_field' for nil:NilClass
* | | Reset postgreSQL search path in db:test:clone_structure.Alexander2013-03-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge branch '3-2-13' into 3-2-stableAaron Patterson2013-03-183-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | | bumping to 3.2.13Aaron Patterson2013-03-181-1/+1
| | | |
| * | | stop calling to_sym when building arel nodes [CVE-2013-1854]Aaron Patterson2013-03-152-2/+2
| |/ /
| * | bumping to rc2Aaron Patterson2013-03-061-1/+1
| | |
| * | Freeze columns only once per ResultSantiago Pastorino2013-03-051-3/+9
| | | | | | | | | | | | | | | Conflicts: activerecord/lib/active_record/result.rb
| * | Preparing for 3.2.13.rc1 releaseSteve Klabnik2013-02-271-2/+2
| | |
* | | @target might be nil when Identity Map is enabled.Larry Lv2013-03-081-3/+8
| | | | | | | | | | | | | | | | | | | | | * 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.
* | | Fix issue #7526. Reload the target if it's stale.larrylv2013-03-054-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | Freeze columns only once per ResultSantiago Pastorino2013-03-031-3/+9
| | | | | | | | | | | | | | | Conflicts: activerecord/lib/active_record/result.rb
* | | Update docs, change_table does not use TableDefinition.Yves Senn2013-02-281-2/+2
| | | | | | | | | | | | | | | | | | | | | [ci skip] Conflicts: activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
* | | Backported #6755 to 3-2-stable. Don't read csv file during executing ↵Narihiro Nakamura2013-02-281-1/+1
|/ / | | | | | | db:fixtures:load.
* | Revert "Merge pull request #9208 from dylanahsmith/3-2-mysql-quote-numeric"Steve Klabnik2013-02-263-12/+4
| | | | | | | | This reverts commit 921a296a3390192a71abeec6d9a035cc6d1865c8.
* | Do not override attributes on `dup` by default scopesHiroshige Umino2013-02-261-1/+0
| |
* | Backported #7072 to 3-2-stable. Use database value for uniqueness validation ↵Narihiro Nakamura2013-02-261-1/+1
| | | | | | | | scope.
* | Sqlite preserves primary keys when copying/altering tables.Yves Senn2013-02-231-2/+6
| | | | | | | | | | | | | | | | Backport #2312. Fixes #9367. I also added a test-case to make sure that renaming or removing a column preserves the primary key.
* | don't cache invalid subsets when preloading hmt associations.Yves Senn2013-02-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix handling of dirty time zone aware attributesLilibeth De La Cruz2013-02-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Revert "Merge pull request #9252 from senny/8423_hmt_preloading_bug"Rafael Mendonça França2013-02-151-2/+1
| | | | | | | | | | | | | | This reverts commit c5451777b038c5e48567f69256986ae42a2cde48. Conflicts: activerecord/CHANGELOG.md
* | Merge pull request #9252 from senny/8423_hmt_preloading_bugRafael Mendonça França2013-02-141-1/+2
| | | | | | | | | | | | | | don't cache invalid subsets when preloading hmt associations Conflicts: activerecord/CHANGELOG.md activerecord/test/cases/associations/eager_test.rb
* | backport of fix for issue #7630Matthew Robertson2013-02-131-0/+5
| |
* | Merge branch '3-2-sec' into 3-2-stableAaron Patterson2013-02-111-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | bumping versionAaron Patterson2013-02-101-1/+1
| | |
| * | fixing call to columns hash. run the damn tests when you backport!Aaron Patterson2013-02-091-1/+1
| | |
| * | Merge pull request #9208 from dylanahsmith/3-2-mysql-quote-numericGuillermo Iguaran2013-02-093-4/+12
| | | | | | | | | | | | | | | | | | [3.2] active_record: Quote numeric values compared to string columns. Conflicts: activerecord/CHANGELOG.md