aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #17919 from mrgilman/stop-supporting-nested-arraysSean Griffin2014-12-044-40/+5
|\ | | | | Remove deprecated behavior allowing nested arrays as query values
| * Remove deprecated behavior allowing nested arrays as query valuesMelanie Gilman2014-12-044-40/+5
| |
* | Correctly handle multiple attribute method prefix/suffixes which matchSean Griffin2014-12-041-0/+10
| | | | | | | | | | | | | | | | | | Active Record defines `attribute_method_suffix :?`. That suffix will match any predicate method when the lookup occurs in Active Model. This will make it incorrectly decide that `id_changed?` should not exist, because it attempts to determine if the attribute `id_changed` is present, rather than `id` with the `_changed?` suffix. Instead, we will look for any correct match.
* | Merge pull request #17920 from ↵Sean Griffin2014-12-041-1/+1
|\ \ | |/ |/| | | | | calebthompson/dont-rely-on-environment-task-for-schema-load Remove environment dependency for db:schema:load
| * Remove environment dependency for db:schema:loadCaleb Thompson2014-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All of the behavior :environment was giving (that db:schema:load needed) was provided as well with :load_config. This will address an issue introduced in https://github.com/rails/rails/pull/15394. The fact that db:schema:load now drops and creates the database causes the Octopus gem to have [an issue](https://github.com/tchandy/octopus/issues/273) during the drop step for the test database (which wasn't happening in db:schema:load before). The error looks like: ActiveRecord::StatementInvalid: PG::ObjectInUse: ERROR: cannot drop the currently open database : DROP DATABASE IF EXISTS "app_test" Because of the timing, this issue is present in master, 4-2-*, and 4.1.8. A note to forlorn developers who might see this: "Additionally" in a commit message means you should have a separate commit, with a separate justification for changes. Small commits with big messages are your friends.
* | Deprecate `Class` handler in `PredicateBuilder`Melanie Gilman2014-12-043-4/+17
|/ | | | Users should pass strings to queries instead of classes
* Merge pull request #17906 from kamipo/prevent_symbol_gcRafael Mendonça França2014-12-041-0/+3
|\ | | | | Prevent Symbol GC
| * Prevent Symbol GCRyuta Kamizono2014-12-041-0/+3
| |
* | docs, bring back `ActiveRecord::Core` methods in the API. [ci skip]Yves Senn2014-12-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | This `# :nodoc:` had the effect of hiding every method that follows. This meant that the API page for `ActiveRecord::Core` only contained `configurations` and none of the following methods. Furthermore this `# :nodoc:` had no effect on `maintain_test_schema`. Those `mattr_accessor` inside the `included` block are not picked up by rdoc. /cc @zzak
* | Clarify that batching methods can be used with any orderable type primary ↵Isaac Seymour2014-12-031-4/+4
|/ | | | key, not just integer ones, as per @a58cafeb3a86be46849de57481b6644094fb8165
* Merge pull request #17898 from mrgilman/move-predicate-builder-to-constructorSean Griffin2014-12-031-4/+5
|\ | | | | Move PredicateBuilder instantiation to constructor
| * Move PredicateBuilder instantiation to constructorMelanie Gilman2014-12-031-4/+5
| | | | | | | | In order to maintain thread safety and prevent race condition from memoization.
* | Active Record changelog needs to keep pointing at 4-2-stable. #17651Yves Senn2014-12-031-1/+1
| | | | | | | | [ci skp]
* | docs, add new changelog entries at the top :sweat: [ci skip] #17651Yves Senn2014-12-031-5/+5
| |
* | Merge pull request #17651 from ↵Yves Senn2014-12-038-11/+16
|\ \ | |/ |/| | | | | | | CLUSTERfoo/fix/adding_timestamps_migration_not_reversible Failure to rollback t.timestamps when within a change_table migration
| * Failure to rollback t.timestamps when within a change_table migrationnoam2014-12-038-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | When running the following migration: change_table(:table_name) { |t| t/timestamps } The following error was produced: wrong number of arguments (2 for 1) .... /connection_adapters/abstract/schema_statements.rb:851:in `remove_timestamps' This is due to `arguments` containing an empty hash as its second argument.
* | document that `.delete` does work on `#readonly?` records. Closes #11860Yves Senn2014-12-031-0/+2
|/ | | | | | | | [ci skip] This is due to the fact that `.delete` is directly translated to SQL. It tries to follow the same rules as `.delete_all` which is not able to verify that records are `#readonly?`.
* skip test to get `sqlite3_mem` suite passing.Yves Senn2014-12-031-1/+1
|
* Merge pull request #17890 from sergey-alekseev/remove-useless-methodsYves Senn2014-12-031-10/+0
|\ | | | | remove useless methods
| * remove useless methodsSergey Alekseev2014-12-031-10/+0
| |
* | Merge pull request #17889 from mxie/mx-fix-nonexistent-typoSean Griffin2014-12-025-8/+8
|\ \ | |/ |/| Fix "nonexistent" typo in tests
| * Fix "nonexistent" typo in testsMelissa Xie2014-12-025-8/+8
| |
* | Require missing association in testSean Griffin2014-12-021-0/+1
|/
* Refactor `build_from_hash` to convert dot notation to hash firstMelanie Gilman2014-12-022-29/+40
| | | | | | | | | | This ensures that we're handling all forms of nested tables the same way. We're aware that the `convert_dot_notation_to_hash` method will cause a performance hit, and we intend to come back to it once we've refactored some of the surrounding code. [Melissa Xie & Melanie Gilman]
* Merge pull request #17886 from mrgilman/refactor-predicate-builderSean Griffin2014-12-024-19/+32
|\ | | | | Refactor `PredicateBuilder` from singleton to instance
| * Refactor `PredicateBuilder` from singleton to instanceMelanie Gilman2014-12-024-19/+32
| |
* | Allow to unscope where conditions using `arel_table` with Symboldeeeki2014-12-032-1/+9
|/ | | | | | This commit fixes the following case. User.where(User.arel_table[:created_at].lteq(1.year.ago)).unscope(where :created_at)
* no need to pass native_database_types aroundYves Senn2014-12-024-7/+13
|
* pg tests, get rid of global schema `schema_1`.Yves Senn2014-12-023-53/+51
|
* pg tests, move uniqueness validation test to array tests.Yves Senn2014-12-023-27/+16
|
* tests, extract pg number tests into separate file.Yves Senn2014-12-023-44/+51
|
* tests, move schema shorthand assertions into pg specific tests.Yves Senn2014-12-0210-131/+89
|
* tests, move pg geometric tests out of `base_test`.Yves Senn2014-12-023-106/+73
|
* ugh, forgot to add this test to cdd90f39d796986dabf1678b3277b230dbe18961Aaron Patterson2014-12-011-0/+5
|
* tests, favor public API over inspecting columns where possible.Yves Senn2014-12-013-23/+20
| | | | | This is a follow up to https://github.com/rails/rails/commit/07786c5e75a7b0afdf318063510af6b475e3e04c and https://github.com/rails/rails/commit/cd2596f55e88fe659592612a793c4f4aa723c9be
* tests, run numeric default tests for every adapter.Yves Senn2014-12-011-15/+33
|
* tests, use public API to verify default parsing. #17863, #17856Yves Senn2014-12-011-1/+2
|
* Fix value extracted from negative integers for PostgreSQL.Guo Xiang Tan2014-12-012-1/+5
| | | | Fixes: https://github.com/rails/rails/issues/17856.
* Ensure numericality validations work with mutationSean Griffin2014-12-012-6/+19
| | | | | | | | | | | | | | | | | | | | | The detection of in-place changes caused a weird unexpected issue with numericality validations. That validator (out of necessity) works on the `_before_type_cast` version of the attribute, since on an `:integer` type column, a non-numeric string would type cast to 0. However, strings are mutable, and we changed strings to ensure that the post type cast version of the attribute was a different instance than the before type cast version (so the mutation detection can work properly). Even though strings are the only mutable type for which a numericality validation makes sense, special casing strings would feel like a strange change to make here. Instead, we can make the assumption that for all mutable types, we should work on the post-type-cast version of the attribute, since all cases which would return 0 for non-numeric strings are immutable. Fixes #17852
* Fix grammar on ActiveRecord::AttributeMethods doc.Hendy Tanata2014-11-301-1/+1
| | | | [ci skip]
* Update Arel usage for rails/arel#98fc259Sean Griffin2014-11-294-8/+8
| | | | | `where_sql` now requires that we pass it an engine. None of the manager classes take an engine in their constructor.
* Stop using `Arel::Table.engine`Sean Griffin2014-11-294-5/+5
| | | | | | | | | | | | | We never actually make use of it on the table, since we're constructing the select manager manually. It looks like if we ever actually were grabbing it from the table, we're grossly misusing it since it's meant to vary by AR class. Its existence on `Arel::Table` appears to be purely for convenience methods that are never used outside of tests. However, in production code it just complicates construction of the tables on the rails side, and the plan is to remove it from `Arel::Table` entirely. I'm not convinced it needs to live on `SelectManager`, etc either.
* Pass symbol as an argument instead of a blockErik Michaels-Ober2014-11-2959-176/+156
|
* Bump required Ruby version to 2.1.0claudiob2014-11-281-1/+1
| | | | | | | | | [This article](http://weblog.rubyonrails.org/2014/8/20/Rails-4-2-beta1/#maintenance-consequences-and-rails-5-0) states that: > Rails 5.0 is in most likelihood going to target Ruby 2.2. Before the exact minimum version is fully decided, @arthurnn [suggests](https://github.com/rails/rails/pull/17830#issuecomment-64940383) that **at least** version 2.1.0 **must** be required by the `gemspec` files.
* Merge pull request #17799 from kamipo/refactor_add_column_optionsRafael Mendonça França2014-11-282-6/+14
|\ | | | | Refactor `add_column_options!`, to move the quoting of default value for :uuid in `quote_value`.
| * Rename to `quote_default_expression` from `quote_value`Ryuta Kamizono2014-11-282-3/+3
| |
| * Refactor `add_column_options!`, to move the quoting of default value for ↵Ryuta Kamizono2014-11-281-4/+12
| | | | | | | | :uuid in `quote_value`.
* | Start Rails 5 development :tada:Rafael Mendonça França2014-11-282-1339/+4
| | | | | | | | | | | | | | We will support only Ruby >= 2.1. But right now we don't accept pull requests with syntax changes to drop support to Ruby 1.9.
* | Adds preloaded_records method to NullPreloaderThorsten Ball2014-11-282-0/+9
| | | | | | | | | | | | | | | | This fixes a regression where preloading association throws an exception if one of the associations in the preloading hash doesn't exist for one record. Fixes #16070
* | Merge pull request #17808 from ↵Rafael Mendonça França2014-11-285-12/+31
|\ \ | | | | | | | | | | | | yuki24/fix-bug-where-record-not-saved-loses-error-message Fixed a bug where AR::RecordNotSaved loses the given error message