aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into experimentAaron Patterson2013-05-218-14/+46
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (49 commits) avoid creating a set if no where values are removed remove bind values for where clauses that were removed push partitioning up so bind elimination can get the removed wheres push partion logic down and initialization logic up the rake task `db:test:prepare` needs to load the configuration In batches test @total was assigned but not used. Use it in tests instead of Post.count partition the where values so we can access the removed ones eliminate some conditionals change method name to reflect what it actually does. save the where values in variables so we don't need to look them up all the time pass where values to the helper function rather than rely on internal state Spelling correction in Upgrading Guide Add has_named_route? to the mapper API No need CHANGELOG entry for a test fix Fix wrong `case_sensitive` in uniqueness validity test Fix typo in test name and documentation Missing ending ``` at 14.2 Merging of scopes copy edits[ci skip] Revert "Corrected documentation and added some more for the classify method in inflectors" Revert "Changed the CHANGELOG for active_support and improved the doc for inflector method classify" ...
| * Merge branch 'bindwhere'Aaron Patterson2013-05-211-0/+22
| |\ | | | | | | | | | | | | | | | | | | | | | | | | * bindwhere: avoid creating a set if no where values are removed remove bind values for where clauses that were removed push partitioning up so bind elimination can get the removed wheres push partion logic down and initialization logic up partition the where values so we can access the removed ones
| | * avoid creating a set if no where values are removedAaron Patterson2013-05-211-0/+12
| | |
| | * remove bind values for where clauses that were removedAaron Patterson2013-05-211-0/+10
| | |
| * | In batches test @total was assigned but not used. Use it in tests instead of ↵Alexander Balashov2013-05-211-7/+5
| |/ | | | | | | Post.count
| * Merge pull request #10692 from vipulnsward/fix_test_3José Valim2013-05-191-1/+1
| |\ | | | | | | Fix wrong `case_sensitive` in uniqueness validity test
| | * Fix wrong `case_sensitive` in uniqueness validity testVipul A M2013-05-201-1/+1
| | |
| * | Fix typo in test name and documentationVipul A M2013-05-202-2/+2
| |/
| * Merge pull request #10676 from tkhr/add-test-to-counter_cache_test.rbRafael Mendonça França2013-05-183-4/+16
| |\ | | | | | | Add test to counter cache test.rb
| | * Fix tests which started to fail due to commit ↵Takehiro Adachi2013-05-182-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | 0123c39f41e2062311b2197e6e230ef8ad67e20e Due to commit 0123c39f41e2062311b2197e6e230ef8ad67e20e, column topic.unique_replies_count has been added, and these test started to fail since the tests depends on the topic tables column info.
| | * Add test to AR's counter_cache_test.rbTakehiro Adachi2013-05-181-0/+12
| | | | | | | | | | | | | | | | | | | | | According to https://github.com/rails/rails/blob/b601399b72ab56cc01368f02615af99f45d1 4f02/activerecord/lib/active_record/counter_cache.rb#L14, u can pass more then one association to the `reset_counters` method.
* | | experimentAaron Patterson2013-05-172-16/+15
| | |
* | | Merge branch 'master' into stmtAaron Patterson2013-05-171-4/+1
|\| | | | | | | | | | | | | | * master: include bind values from the default scope
| * | include bind values from the default scopeAaron Patterson2013-05-171-4/+1
| |/
* | Merge branch 'master' into stmtAaron Patterson2013-05-1729-131/+523
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (330 commits) plugin new missing license spec let Ruby do the is_a check for us Mocha 0.14.0 was released with MT5 support. Switch back to gem Fix named routing regression from 3.2.13 Revert "just call the class method since we know the callbacks are stored at the" test refactor Add more data to AR::UnknownAttributeError Raise when multiple included blocks are defined Revert "Integration tests support the OPTIONS http method" restore whitespace in Gemfile between sqlite3 and sprockets Revert "Add the options method to action_controller testcase." Check if APP_RAKEFILE is defined Fix detection of engine in rake db:load_config Broken by d1d7c86d0c8dcb7e75a87644b330c4e9e7d6c1c1 Remove trailing line break tiny types should only be integers when the length is <= 1. fixes #10620 add failing test exposing mysql adapter tinyint bug require things we need Revert "Merge pull request #10600 from aditya-kapoor/code_refactor" just call the class method since we know the callbacks are stored at the class level this variable is used, so we don't have to use double assignments ...
| * test refactorAaron Patterson2013-05-161-5/+2
| |
| * Add more data to AR::UnknownAttributeErrorBogdan Gusiev2013-05-161-0/+12
| | | | | | | | | | | | | | | | | | begin Topic.new("hello" => "world") rescue ActiveRecord::UnknownAttributeError => e e.record # => #<Topic ... > e.attribute # => "hello" end
| * Merge pull request #10619 from alno/top_level_array_in_postgres_jsonAaron Patterson2013-05-161-0/+14
| |\ | | | | | | Support array as root element in Postgresql JSON columns
| | * Support array as root element in JSONAlexey Noskov2013-05-141-0/+14
| | |
| * | add failing test exposing mysql adapter tinyint bugphinze2013-05-151-3/+16
| | | | | | | | | | | | | | | | | | in myself, a column with type TINYINT(N) where N > 1 can be used to represent an integer, but the rails mysql adapter refuses to interpret as anything but a boolean.
| * | Merge branch 'master' into normalizecbAaron Patterson2013-05-136-15/+48
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (61 commits) add tests for reset_calbacks Fixing build broken by this change Extract variable out of loop Updated comment to Rails 4 Fixes NoMethodError: `alias_method_chain` when requiring just active_support/core_ext better error message when app name is not passed in `rails new` Code cleanup for ActionDispatch::Flash#call Fix typo: require -> requires Add CHANGELOG entry for #10576 Merge pull request #10556 from Empact/deprecate-schema-statements-distinct Some editorial changes on the documentation. respond_to -> respond to in a message from AM::Lint specify that dom_(id|class) are deprecated in controllers, views are fine copy edits [ci skip] Fix class and method name typos Replace multi_json with json ruby -> Ruby Adding documentation to the automatic inverse_of finder. Improve CHANGELOG entry [ci kip] Call assume_migrated_upto_version on connection ... Conflicts: activesupport/lib/active_support/callbacks.rb
| | * Merge pull request #10577 from vipulnsward/fix_method_typosRafael Mendonça França2013-05-123-3/+3
| | |\ | | | | | | | | Fix class and method name typos
| | | * Fix class and method name typosVipul A M2013-05-123-3/+3
| | | |
| | * | Merge pull request #10556 from Empact/deprecate-schema-statements-distinctRafael Mendonça França2013-05-121-12/+24
| | |/ | | | | | | | | | | | | | | | Deprecate SchemaStatements#distinct, and make SchemaStatements#columns_for_distinct nodoc. Conflicts: activerecord/CHANGELOG.md
| | * Call assume_migrated_upto_version on connectionKyle Stevens2013-05-111-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call assume_migrated_upto_version on connection to prevent it from first being picked up in method_missing. In the base class, Migration, method_missing expects the argument to be a table name, and calls proper_table_name on the arguments before sending to connection. If table_name_prefix or table_name_suffix is used, the schema version changes to prefix_version_suffix, breaking `rake test:prepare`. Fixes #10411.
| | * read_attribute_before_type_cast should accept symbolNeeraj Singh2013-05-111-0/+1
| | |
| * | callbacks are wrapped with lambdasAaron Patterson2013-05-101-1/+1
| |/
| * Merge pull request #6792 from Empact/postgres-distinctJon Leighton2013-05-102-0/+46
| |\ | | | | | | Fix that #exists? can produce invalid SQL: "SELECT DISTINCT DISTINCT"
| | * Fix that #exists? can produce invalid SQL: "SELECT DISTINCT DISTINCT"Ben Woosley2013-05-102-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Rather than build a select distinct clause in #construct_limited_ids_condition, I set #distinct! and pass just the columns into the select statement. This requires introducing a #columns_for_distinct method to return the select columns but not the statement itself.
| * | Don't try to EXPLAIN select_db callsDaniel Schierbeck2013-05-101-0/+5
| | |
| * | Set the inverse when association queries are refinedJon Leighton2013-05-101-0/+13
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suppose Man has_many interests, and inverse_of is used. Man.first.interests.first.man will correctly execute two queries, avoiding the need for a third query when Interest#man is called. This is because CollectionAssociation#first calls set_inverse_instance. However Man.first.interests.where("1=1").first.man will execute three queries, even though this is obviously a subset of the records in the association. This is because calling where("1=1") spawns a new Relation object from the CollectionProxy object, and the Relation has no knowledge of the association, so it cannot set the inverse instance. This commit solves the problem by making relations spawned from CollectionProxies return a new Relation subclass called AssociationRelation, which does know about associations. Records loaded from this class will get the inverse instance set properly. Fixes #5717. Live commit from La Conf! :sparkles:
| * Merge pull request #10521 from yahonda/sanitize_oracleRafael Mendonça França2013-05-081-5/+4
| |\ | | | | | | Remove current_adapter? from test_sanitize_sql_hash_handles_associations
| | * Remove current_adapter? from test_sanitize_sql_hash_handles_associationsYasuo Honda2013-05-081-5/+4
| | | | | | | | | | | | | | | | | | | | | Because of each adapter implementation differences, `expected_value` string needed to be handled by each adapter. This commit removes current_adapter by using ActiveRecord::ConnectionAdapters::Quoting methods.
| * | Created a method to automatically find inverse associations and cachewangjohn2013-05-072-0/+84
| | | | | | | | | | | | | | | | | | the results. Added tests to check to make sure that inverse associations are automatically found when has_many, has_one, or belongs_to associations are defined.
| * | Revert "Merge pull request #10455 from ↵Aaron Patterson2013-05-071-29/+0
| | | | | | | | | | | | | | | | | | | | | patricksrobertson/bigserial_id_not_identifying_pk" This reverts commit 3043d45eefc3776d5f3a9e7d212a01f99d869ef8, reversing changes made to ca0275d36b395631725c4583db5a45c06443fdb9.
| * | Handle other pk types in PostgreSQL gracefully.Patrick Robertson2013-05-071-0/+29
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | In #10410 it was noted that you can no longer create PK's with the type of bigserial in PostgreSQL in 4.0.0.rc1. This is mostly because the newer adapter is checking for column type with the id column instead of just letting it pass through like it did before. Side effects: You may just create a PK column of a type that you really don't want to be your PK. As far as I can tell this was allowed in 3.2.X and perhaps an exception should be raised if you try and do something extremely dumb.
| * Merge pull request #10489 from greenriver/ar_counter_cache_multiple_destroyRafael Mendonça França2013-05-061-0/+20
| |\ | | | | | | | | | | | | | | | | | | Confirm a record has not already been destroyed before decrementing counter cache Conflicts: activerecord/CHANGELOG.md
| | * Confirm a record has not already been destroyed before decrementingBen Tucker2013-05-061-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | counter cache At present, calling destroy multiple times on the same record results in the belongs_to counter cache being decremented multiple times. With this change the record is checked for whether it is already destroyed prior to decrementing the counter cache.
| * | Fix test asserting the sanitized SQL hash differently to some adaptersRafael Mendonça França2013-05-061-1/+7
| | |
| * | Merge pull request #10352 from ↵Rafael Mendonça França2013-05-061-0/+4
| |\ \ | | | | | | | | | | | | | | | | zohlgren/fix_activerecord_sanitization_sanitize_sql_hash Fix bug in ActiveRecord::Sanitization#sanitize_sql_hash_for_conditions
| | * | Fix bug in ActiveRecord::Sanitization#sanitize_sql_hash_for_conditionsZach Ohlgren2013-05-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixing CHANGLOG description Remove extra line. Remove blank lines.
| * | | fix failing test caused by 3771e4d511Neeraj Singh2013-05-061-2/+2
| |/ /
| * | raise IrreversibleMigration if no column givenNeeraj Singh2013-05-061-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes #10419 Following code should raise IrreversibleMigration. But the code was failing since options is an array and not a hash. def change change_table :users do |t| t.remove_index [:name, :email] end end Fix was to check if the options is a Hash before operating on it.
| * | fix to remove warning on postgres adapter test.Akshay Khole2013-05-051-1/+1
| | | | | | | | | | | | | | | Warning was: "/vagrant/rails/activerecord/test/cases/adapters/postgresql/uuid_test.rb:63: warning: ambiguous first argument; put parentheses or even spaces"
| * | Merge pull request #10458 from bwbuchanan/issue-10451Rafael Mendonça França2013-05-041-0/+12
| |\ \ | | | | | | | | Make SchemaDumper emit "id: :uuid" when using UUID primary keys
| | * | Make SchemaDumper emit "id: :uuid" when appropriate. Fixes #10451.Brian Buchanan2013-05-031-0/+12
| | | |
| * | | Squashed commit of the following:Aaron Patterson2013-05-031-2/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 2683de5da85135e8d9fe48593ff6167db9d64b18 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Fri May 3 11:29:20 2013 -0700 cannot support infinite ranges right now commit cebb6acef2c3957f975f6db4afd849e535126253 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Fri May 3 11:26:12 2013 -0700 reverting infinity comparison commit 385f7e6b4efd1bf9b89e8d607fcb13e5b03737ea Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Fri May 3 11:23:28 2013 -0700 Revert "Added ability to compare date/time with infinity" This reverts commit 38f28dca3aa16efd6cc3af6453f2e6b9e9655ec1. Conflicts: activesupport/CHANGELOG.md activesupport/lib/active_support/core_ext/numeric/infinite_comparable.rb activesupport/test/core_ext/date_ext_test.rb activesupport/test/core_ext/date_time_ext_test.rb activesupport/test/core_ext/numeric_ext_test.rb activesupport/test/core_ext/time_ext_test.rb activesupport/test/core_ext/time_with_zone_test.rb commit 0d799a188dc12b18267fc8421675729917610047 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Fri May 3 11:18:53 2013 -0700 Revert "Refactor infinite comparable definition a bit" This reverts commit dd3360e05e4909f2f0c74a624cccc2def688f828. commit 42dec90e49745bbfae546f0560b8783f6b48b074 Author: Aaron Patterson <aaron.patterson@gmail.com> Date: Fri May 3 11:18:47 2013 -0700 Revert "Require 'active_support/core_ext/module/aliasing' in the infinite_comparable module" This reverts commit 7003e71c13c53ec3d34250560fbf80b8381df693.
| * | Do not overwrite manually built records during one-to-one nested attribute ↵Olek Janiszewski2013-05-031-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | assignment For one-to-one nested associations, if you build the new (in-memory) child object yourself before assignment, then the NestedAttributes module will not overwrite it, e.g.: class Member < ActiveRecord::Base has_one :avatar accepts_nested_attributes_for :avatar def avatar super || build_avatar(width: 200) end end member = Member.new member.avatar_attributes = {icon: 'sad'} member.avatar.width # => 200
| * | Merge pull request #10417 from jholton/fix_association_auto_saveJon Leighton2013-05-031-3/+19
| |\ \ | | | | | | | | autosave_association issue that occurs when table has unique index (resubmission)
| | * | destroys association records before saving/inserting new association recordsJohnny Holton2013-05-021-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.