aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #11971 from freerunningtechnologies/dynamic_respond_toAaron Patterson2013-08-222-1/+6
|\ | | | | Performance regression in AR::Base.respond_to?
| * Avoid compiling regexs in AR::Base.respond_to?John Hawthorn2013-08-212-1/+6
| | | | | | | | | | Caches the patterns of ActiveRecord::DynamicMatchers in a class instance variable.
* | Merge pull request #11976 from etehtsea/infYves Senn2013-08-221-2/+2
|\ \ | | | | | | [PG adapter] Use infinity const
| * | Use infinity constKonstantin Shabanov2013-08-221-2/+2
| |/
* / Stray nodoc causes rest of file not parsed [ci skip]edogawaconan2013-08-221-2/+0
|/
* write changelog entry for #11922. [ci skip]Yves Senn2013-08-201-0/+5
|
* Merge pull request #11922 from Empact/string-confusionYves Senn2013-08-202-2/+2
|\ | | | | Stop interpreting SQL 'string' columns as :string type.
| * Stop interpreting SQL 'string' columns as :string type.Ben Woosley2013-08-172-2/+2
| | | | | | | | | | | | | | | | 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
* | documents 565c367 in the CHANGELOGXavier Noria2013-08-191-0/+4
| |
* | let AR::FinderMethods#exists? return singletons in all cases [closes #11592]Xavier Noria2013-08-192-34/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1713-9/+22
|\ \ | |/ |/| | | | | | | | | | | 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-1714-10/+23
| | | | | | | | | | | | | | 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-154-2/+19
| | | | | | | | | | 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-143-1/+37
|\ \ | | | | | | Fix assign ip address with invalid values raise exception
| * | Rescue invalid ip address exceptions on assign.Paul Nikitochkin2013-08-143-1/+37
| | | | | | | | | | | | 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
| |
* | Merge pull request #11838 from vipulnsward/drop_extra_varSteve Klabnik2013-08-121-2/+2
|\ \ | | | | | | drop extra variable
| * | drop extra variableVipul A M2013-08-121-2/+2
| | |
* | | 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`
* | | Restore the use of `#add_to_target` for nested attribute updates on existing ↵Ben Woosley2013-08-123-15/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | records, and don't bother updating the association if the update is going to be rejected anyway. This requires adding a `skip_callbacks` argument to `#add_to_target` so that we don't call the callbacks multiple times in this case, which is functionally an application of existing association data, rather than an addition of a new record to the association.
* | | Fix interactions between :before_add callbacks and nested attributes assignmentDr.(USA) Joerg Schray2013-08-123-11/+168
| | | | | | | | | | | | | | | 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-124-0/+0
| | |
* | | only reconnect if there was already an active connectionAaron Patterson2013-08-111-1/+4
| | | | | | | | | | | | | | | If you're using an in-memory database for the test database, reconnecting will lose all information that schema:load did for us.
* | | Make 'enable_extension' revertibleEric Tipton2013-08-103-1/+16
|/ / | | | | | | | | 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-096-37/+4
| |
* | Merge pull request #11802 from ko1/fix_field_encoding_for_mysqlAaron Patterson2013-08-074-3/+14
|\ \ | | | | | | Set field encoding to client_encoding for mysql adapter.
| * | Set field encoding to client_encoding for mysql adapter.Koichi Sasada2013-08-084-3/+14
| | |
* | | cast hstore values on write to be consistent with reading from the db.Yves Senn2013-08-084-4/+34
|/ /
* | Merge pull request #11331 from vipulnsward/remove_conditionalAaron Patterson2013-08-071-8/+1
|\ \ | | | | | | Remove conditional, results are always an instance of `ActiveRecord::Result`
| * | Remove conditional, since results are always an instance of ↵Vipul A M2013-07-061-8/+1
| | | | | | | | | | | | `ActiveRecord::Result`
* | | 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-073-15/+32
| | |
* | | 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 ... ```
* | | test to express that we can't turn non-array columns to array columns.Yves Senn2013-08-061-0/+9
| | | | | | | | | | | | Closes #11062
* | | Use the proper encoding comment on the fileRafael Mendonça França2013-08-061-0/+2
| | |
* | | Fix indentationRafael Mendonça França2013-08-061-3/+2
| | |
* | | asakusa.rb hack night!Aaron Patterson + Akira Matsuda2013-08-062-0/+5
| | | | | | | | | | | | Fix in-memory tests
* | | Add CHANGELOG entry for #11767Rafael Mendonça França2013-08-061-0/+4
| | | | | | | | | | | | [ci skip]
* | | adding a weird test caseAaron Patterson2013-08-062-0/+8
| | |
* | | config[:database] should be a stringRafael Mendonça França2013-08-051-3/+3
| | | | | | | | | | | | | | | This change was breaking the Railties tests. See https://travis-ci.org/rails/rails/jobs/9865969
* | | Remove deprecated branch on the scope method.Rafael Mendonça França2013-08-051-6/+2
| | | | | | | | | | | | The deprecation message was removed on 50cbc03d18c5984347965a94027879623fc44cce but the code was not.
* | | Merge pull request #11767 from kassio/master-load-fixtures-from-linked-folderRafael Mendonça França2013-08-055-4/+17
|\ \ \ | | | | | | | | Load fixtures from linked folders[master]
| * | | load fixtures from linked foldersKassio Borges2013-08-055-4/+17
| | | |
* | | | Merge pull request #11762 from peterkovacs/patch-2Carlos Antonio da Silva2013-08-051-1/+1
|\ \ \ \ | | | | | | | | | | Free result_metadata directly instead of freeing 2nd, redundant call.
| * | | | Free result_metadata directly instead of freeing 2nd, redundant call.Peter Kovacs2013-08-051-1/+1
| | | | | | | | | | | | | | | `result_metadata` returns a new object each time it is called, so calling `result_metadata.free` is essentially a noop. Instead call `free` directly on the metadata when we're done with it.
* | | | | Create sqlite3 directory if not presentschneems2013-08-053-3/+30
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the `db/` directory is not present on a remote machine it will blow up in unexpected ways with error messages that do not indicate there is a missing directory: ``` SQLite3::CantOpenException: unable to open database file ``` This PR checks to see if a directory exists for the sqlite3 file and if not creates it for you. This PR is an alternative to #11692 as suggested by @josevalim
* | | | Merge pull request #11693 from egilburg/minor_relation_refactorRafael Mendonça França2013-08-041-38/+45
|\ \ \ \ | | | | | | | | | | Minor optimization and code cleanup in query_methods.rb