aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
Commit message (Collapse)AuthorAgeFilesLines
* Make CollectionAssociation first/last with integer fetch with queryLann Martin2013-09-091-3/+5
| | | | | | | | | | | When first or last is called with an integer on an unloaded association, the entire collection is loaded. This differs surprisingly from the behavior of Relation#first/last, which translate the call into a limit query. For large collections this can make a big difference in performance. Change CollectionAssociation#fetch_first_or_last_using_find? to make this kind of call delegate to Relation.
* Merge pull request #11958 from jetthoughts/extract_pre_process_orders_argsYves Senn2013-09-043-2/+32
|\ | | | | Re-use order arguments pre-processing for reorder
| * Extracted from `order` processing of arguments, and use it for `reorder` to ↵Paul Nikitochkin2013-09-043-2/+32
| | | | | | | | be consistent.
* | adding a hm:t test for singleton ar objectsAaron Patterson2013-09-031-0/+27
| |
* | support anonymous classes on has_many associationsAaron Patterson2013-09-031-0/+18
| |
* | clear all connections before forkingAaron Patterson2013-08-311-0/+3
| |
* | Revert "Do not dup the binds when visiting the AST"Rafael Mendonça França + Kassio Borges2013-08-311-8/+0
| | | | | | | | | | | | This reverts commit 71ff7d9c6592b93e2c810a1f464943dd7bd02c7f. Reason: I need to check with @jeremy if we can do this.
* | Don't need to check if the scope respond to callRafael Mendonça França + Kassio Borges2013-08-312-2/+2
| | | | | | | | | | We are checking this when defining the default scope and raising an ArgumentError
* | Revert "reconnect after the fork returns"Rafael Mendonça França2013-08-311-2/+0
| | | | | | | | | | | | | | | | | | This reverts commit baf5f47b8768c7ec0164ed5ab60e369cdd936d71. Reason: This is breaking the sqlite3 tests with a missing transacion. Could not investigate right now. cc @tenderlove
* | Do not dup the binds when visiting the ASTRafael Mendonça França2013-08-311-0/+8
| | | | | | | | | | | | | | The visitor have to consume the bind parameters to make the statements work when the prepared statement option is disabled. Fixes #12023
* | reconnect after the fork returnsAaron Patterson2013-08-301-0/+2
| |
* | remove unused variableAaron Patterson2013-08-301-1/+1
| |
* | move the cache to the AR models and populate it on inheritedAaron Patterson2013-08-301-4/+19
| |
* | add a failing test for marshal + cache problemsAaron Patterson2013-08-301-0/+26
| |
* | add missing fixtures fileAaron Patterson2013-08-301-1/+2
| |
* | make sure there are actually some categories when running the testAaron Patterson2013-08-291-0/+1
| |
* | pk should not be required for hm:t associationsAaron Patterson2013-08-291-0/+7
| |
* | Merge pull request #12051 from bcherry/preserve_datetime_millisecondsAndrew White2013-08-281-0/+5
|\ \ | |/ |/| ActiveRecord: Include usecs when quoting DateTime in PostgreSQL adapter
| * Test that PostgreSQL adapter includes `usec` when quoting `DateTime`Ben Cherry2013-08-281-0/+5
| |
* | query the association rather than send the method for the association nameAaron Patterson2013-08-271-6/+4
|/
* check class hierarchy with is_a? in PredicateBuilder.expandMikhail Dieterle2013-08-271-0/+25
| | | | add changelog entry for #11945
* Add config to method calls in fixtures.wangjohn2013-08-261-1/+1
| | | | | | | Allows you to change your configuration for calls to `table_name_prefix`, `table_name_suffix`, and `pluralize_table_names`. The default configuration is still ActiveRecord::Base, but you are now able to change the configuration easily.
* PG adapter deals with negative money values formatted with parenthesis.Yves Senn2013-08-261-0/+8
| | | | Closes #11899.
* Removing instances of string class_names in fixtures.wangjohn2013-08-241-7/+7
| | | | | | | Also, constantizing the default_fixture_model_name when it gets loaded in from the file. Later, when the class_name is passed to a new FixtureSet, a deprecation warning will occur if the class_name is a string.
* Adding deprecation assertions for proper_table_name.wangjohn2013-08-241-7/+21
| | | | This prevents deprecation warnings from popping up.
* Making proper_table_name take in options.wangjohn2013-08-221-1/+28
| | | | | | | | | | | The options will specify the prefix and the suffix. Also, I'm moving the method to be an instance method on the +Migration+ instance. This makes more sense than being a class method on the +Migrator+ class because the only place that uses it is on a +Migration+ instance (in a method_missing hook). The logic for the Migrator shouldn't be doing any work to calculate the table name, it should be the Migration itself. Also made some small indentation fixes.
* Avoid compiling regexs in AR::Base.respond_to?John Hawthorn2013-08-211-0/+5
| | | | | Caches the patterns of ActiveRecord::DynamicMatchers in a class instance variable.
* Merge pull request #11922 from Empact/string-confusionYves Senn2013-08-201-1/+1
|\ | | | | Stop interpreting SQL 'string' columns as :string type.
| * Stop interpreting SQL 'string' columns as :string type.Ben Woosley2013-08-171-1/+1
| | | | | | | | | | | | | | | | SQL doesn't have a string type, and interpreting 'string' as text is contrary to at least SQLite3's behavior: "Note that a declared type of 'STRING' has an affinity of NUMERIC, not TEXT." http://www.sqlite.org/datatype3.html
* | let AR::FinderMethods#exists? return singletons in all cases [closes #11592]Xavier Noria2013-08-191-27/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a regression. The documentation said in its introduction paragraph that the method returns truthy/falsy, but then below it was said that if there were no arguments you'd get `true` or `false`. Also when the argument is exactly `false` a singleton is documented to be returned. The method was not returning the singletons so it didn't conform to those special cases. The best solution here seems to be to just return singletons in all cases. This solution is backwards compatible. Also, the contract has been revised because it has no sense that the predicate varies that way depending on the input. I bet the previous contract was just an accident, not something mixed on purpose. Conflicts: activerecord/lib/active_record/relation/finder_methods.rb activerecord/test/cases/finder_test.rb
* | Merge branch 'master' of github.com:rails/docrailsVijay Dev2013-08-172-6/+1
|\ \ | |/ |/| | | | | | | | | | | Conflicts: actionview/README.rdoc activerecord/lib/active_record/migration.rb guides/source/development_dependencies_install.md guides/source/getting_started.md
| * Revert "Merge branch 'master' of github.com:rails/docrails"Vijay Dev2013-08-172-6/+1
| | | | | | | | | | | | | | This reverts commit 70d6e16fbad75b89dd1798ed697e7732b8606fa3, reversing changes made to ea4db3bc078fb3093ecdddffdf4f2f4ff3e1e8f9. Seems to be a code merge done by mistake.
* | Fixing multi-word automatic inverse detection.wangjohn2013-08-151-0/+14
| | | | | | | | | | Currently, ActiveRecord models with multiple words cannot have their inverse associations detected automatically.
* | Merge pull request #11574 from jetthoughts/11552_rescue_on_invalid_inet_assignYves Senn2013-08-141-0/+14
|\ \ | | | | | | Fix assign ip address with invalid values raise exception
| * | Rescue invalid ip address exceptions on assign.Paul Nikitochkin2013-08-141-0/+14
| | | | | | | | | | | | In order that set attribute should not be bang method
* | | Removed redundant asserts for assigns attribute operationPaul Nikitochkin2013-08-141-28/+28
|/ /
* | test-case for fixed issue #11870.Yves Senn2013-08-141-0/+4
| |
* | using assert_not instead of refuteRajarshi Das2013-08-132-4/+4
| |
* | Use assert_not rather than refutePiotr Sarnacki2013-08-121-5/+5
| |
* | Refactor NestedAttributesWithCallbacksTest for clarityBen Woosley2013-08-121-67/+66
| | | | | | | | | | | | | | 1) Use `assert` and `refute` where possible. 2) Separately include the setup, subject, and assertions in each test - don't hide the tested call in an assertion method. 3) Name things based on their role rather than incidental facts about them - e.g. `@bird[1]` -> `bird_to_destroy`. `bird2_deletion_attributes` -> `destroy_bird_attributes`. 4) Use more succinct naming where possible - e.g. `birds_with_callback` -> `birds_with_add`, `@pirate_with_two_birds` -> `@pirate`
* | Fix interactions between :before_add callbacks and nested attributes assignmentDr.(USA) Joerg Schray2013-08-121-0/+145
| | | | | | | | | | Issue #1: :before_add callback is called when nested attributes assignment assigns to existing record if the association is not yet loaded Issue #2: Nested Attributes assignment does not affect the record in the association target when callback triggers loading of the association
* | chmod -xAkira Matsuda2013-08-121-0/+0
| |
* | Make 'enable_extension' revertibleEric Tipton2013-08-101-0/+10
| | | | | | | | | | If 'enable_extension' is used in a migration's 'change' method, use 'disable_extension' on down migration (and vice-versa).
* | Remove redundant `string_to_binary` from type-castingVipul A M2013-08-091-19/+0
| |
* | Merge pull request #11802 from ko1/fix_field_encoding_for_mysqlAaron Patterson2013-08-071-2/+0
|\ \ | | | | | | Set field encoding to client_encoding for mysql adapter.
| * | Set field encoding to client_encoding for mysql adapter.Koichi Sasada2013-08-081-2/+0
| | |
* | | cast hstore values on write to be consistent with reading from the db.Yves Senn2013-08-081-0/+7
|/ /
* | use `skip` so we can see what tests are not runAaron Patterson2013-08-081-6/+5
| |
* | Fix multidimensional PG arrays containing non-string itemsYves Senn2013-08-071-14/+19
| |
* | skip `test_unicode_column_name` for `MysqlAdapter`.Yves Senn2013-08-071-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes the build but we need to further investigate the root cause, to see if it can be fixed. The test fails under `MysqlAdapter` with: ``` ActiveRecord::UnknownAttributeError: unknown attribute: なまえ ``` The root cause is that the returned column names from the adapter have the wrong encoding: ```ruby columns = Weird.columns_hash.keys columns # => ["id", "a$b", "\xE3\x81\xAA\xE3\x81\xBE\xE3\x81\x88", "from"] columns.map(&:encoding) # => [#<Encoding:ASCII-8BIT>, #<Encoding:ASCII-8BIT>, #<Encoding:ASCII-8BIT>, #<Encoding:ASCII-8BIT>] columns.map {|c| c.dup.force_encoding "utf-8"} # => ["id", "a$b", "なまえ", "from"] ``` From what I can tell the MySQL variables are fine: ``` ActiveRecord::Base.connection.execute("show variables") ... character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 character_sets_dir /usr/local/Cellar/mysql/5.5.29/share/mysql/charsets/ collation_connection utf8_general_ci collation_database utf8_unicode_ci collation_server utf8_general_ci ... ```