aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #14773 from eric-chahin/null_relation_fixYves Senn2014-04-161-2/+2
|\ | | | | Changed the NullRelation so that when count is called with #group it wil...
| * Changed the NullRelation so that when count is called with #group it will ↵Eric Chahin2014-04-161-2/+2
| | | | | | | | | | | | | | properly return an empty hash instead of zero. Fixes issue #14721 Conflicts: activerecord/CHANGELOG.md
* | `sanitize_sql_like` escapes `escape_character` not only backslash.Yves Senn2014-04-161-1/+2
|/ | | | | | * This is a follow up to: fe4b0eee05f59831e1468ed50f55fbad0ce11e1d * The originating PR is #14222 * It should fix the build
* SQL Like escaping helper method. [Rob Gilson & Yves Senn]Rob Gilson2014-04-161-0/+6
| | | | | | | | | Closes #14222. This is a follow up to #6104 This does not have the backwards compatibility issues brought up in implementation to break.
* Merge pull request #14765 from byroot/refactor-counter-cache-create-and-destroyRafael Mendonça França2014-04-153-34/+44
|\ | | | | Refactor counter cache create and destroy
| * Hide BelongsToAssociation#increment_counters and #decrement_countersJean Boussier2014-04-152-3/+2
| |
| * Restore the destroy_by_association check in post destroy counter cacheJean Boussier2014-04-151-2/+9
| |
| * Set _after_create_counter_called flag to make update counter cache workJean Boussier2014-04-151-1/+6
| |
| * Use inheritance chain instead of callbacks to increment counter caches after ↵Jean Boussier2014-04-142-20/+4
| | | | | | | | destroy
| * Use inheritance chain instead of callbacks to increment counter caches after ↵Jean Boussier2014-04-143-16/+31
| | | | | | | | create
* | Changed change_column in PG schema_statements.rb to make sure that the ↵Eric Chahin2014-04-152-2/+17
| | | | | | | | uuid_generate function was not being quoted.
* | Merge pull request #14762 from dwo/masterArthur Nogueira Neves2014-04-151-1/+1
|\ \ | | | | | | use YAML.load_file in database tasks example
| * | use YAML.load_file in database tasks exampleRobin Tweedie2014-04-151-1/+1
| | | | | | | | | | | | | | | rather than YAML.load(File.read(path)). YAML.load_file is also used in guides/rails_guides/helper.rb since 2011, the only other precedent I could find.
* | | Make sure the column_name is different from 'all'.Lauro Caetano2014-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 968c581ea34b5236af14805e6a77913b1cb36238 have fixed the EagerLoadTest, but not in the correct way. The problem was when `empty?` or `size` was called on relation. It was triggering `count(:all)`, which was passing `:all` as the column name to `count` on Calculations. On the other hand, the method `calculate` on Calculations was calling `construct_relation_for_association_calculations` instead of `perform_calculation`, because `has_include?` was returning `true` since `column_name` was present. To prevent calling the wrong method to perform the calculation, we have to check if the `column_name` is present and if it is different from `:all` (which is now used to correctly do `count` with `select`). More information here: https://github.com/rails/rails/commit/968c581ea34b5236af14805e6a77913b1cb36238#commitcomment-6006135
* | | The Association Relation should use `empty?` and `size` from Relation.Lauro Caetano2014-04-141-8/+0
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 968c581ea34b5236af14805e6a77913b1cb36238 have introduced this bug #14744 on Association Relation when the method `empty?` or `size` was called. Example: # Given an author that does have 3 posts, but none of them with the # title 'Some Title' Author.last.posts.where(title: 'Some Title').size # => 3 It was occurring, because the Association Relation had implemented these methods based on `@association`, this way giving wrong results. To fix it, was necessary to remove the methods `empty?` and `size` from Association Relation. It just have to use these methods from Relation. Example: # Given an author that does have 3 posts, but none of them with the # title 'Some Title' Author.last.posts.where(title: 'Some Title').size # => 0 # Now it will return the correct value. Fixes #14744.
* | Merge pull request #14729 from akshay-vishnoi/doc_changesRichard Schneeman2014-04-141-4/+4
|\ \ | |/ |/| [ci skip] Improve doc, fix grammatical issue
| * [ci skip] Improve doc, fix grammatical issueAkshay Vishnoi2014-04-131-4/+4
| |
* | Merge pull request #14735 from byroot/idempotent-counter-cachesAaron Patterson2014-04-142-4/+26
|\ \ | | | | | | Idempotent counter caches, fix concurrency issues with counter caches
| * | Make counter cache decrementation on destroy idempotentJean Boussier2014-04-132-4/+26
| | |
* | | docs, double meaning of `serialize` argument. Closes #14284.Yves Senn2014-04-141-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | The second argument to serialize has double meaning: * `class_name` of the Type to serialize * `coder` to use then serializing. The new variable name and the docs better describe that behavior.
* | | again, read_attribute is public, so just call itAaron Patterson2014-04-131-1/+1
| | |
* | | read_attribute is public, so we should just call itAaron Patterson2014-04-131-1/+1
|/ /
* | Merge pull request #14592 from ↵Rafael Mendonça França2014-04-132-0/+6
|\ \ | |/ |/| | | | | | | | | | | | | laurocaetano/equality_between_relation_and_collection_proxy The comparison between `Relation` and `CollectionProxy` should be consistent. Conflicts: activerecord/CHANGELOG.md
| * Make the comparison between 'Relation' and 'AssociationRelation'Lauro Caetano2014-04-122-1/+5
| | | | | | | | consistent.
| * The comparison between `Relation` and `CollectionProxy` should be consistent.Lauro Caetano2014-04-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | Example: author.posts == Post.where(author_id: author.id) # => true Post.where(author_id: author.id) == author.posts # => true Fixes #13506
* | don't bother with an offset if the offset is zeroAaron Patterson2014-04-121-6/+9
| | | | | | | | | | we're guaranteed to pass a numeric value for offset, so if it's zero, just don't add an offset to the query
* | only add the offset and index when we need toAaron Patterson2014-04-121-8/+9
| |
* | remove branching logic from calls to find_nthAaron Patterson2014-04-121-6/+10
| |
* | please use Ruby, not ActiveSupportAaron Patterson2014-04-111-1/+1
|/
* :scissors:Rafael Mendonça França2014-04-111-2/+2
|
* Merge pull request #14711 from ↵Rafael Mendonça França2014-04-112-3/+10
|\ | | | | | | | | | | swoker/activerecord_fix_aggregate_methods_with_select Activerecord fix aggregate methods with select
| * fix exception on polymorphic associations with predicatesSimon Woker2014-04-111-0/+8
| |
| * Fix error for aggregate methods with select, see issue #13648Simon Woker2014-04-101-3/+2
| |
* | PostgreSQL, warn once per connection per missing OID. Closes #14275.Yves Senn2014-04-111-2/+2
| | | | | | | | [Yves Senn & Matthew Draper]
* | PostgreSQL, adapter automatically reloads it's type map. Closes #14678.Yves Senn2014-04-113-10/+22
| | | | | | | | [Yves Senn & Matthew Draper]
* | docs, make association `autosave: true` examples runnable. Closes #14700Yves Senn2014-04-111-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | [ci skip] The examples are written in a way you expect them to be executable. However one snippet assumed there to be two comments when only one was created above. The defined models did not extend `ActiveRecord::Base` The example used `comments.last.mark_for_destruction`. This does no longer load the whole collection but just the last record. It is then refetcht on subsequent calls to `last`. This breaks the example.
* | Merge pull request #12829 from iantropov/issue_insert_via_hmt_scope_3548Rafael Mendonça França2014-04-102-3/+7
|\ \ | | | | | | | | | | | | | | | | | | Fix insertion of records for hmt association with scope Conflicts: activerecord/CHANGELOG.md
| * | Fix insertion of records for hmt association with scope, fix #3548Ivan Antropov2013-11-172-3/+7
| | |
* | | No need to call sendRafael Mendonça França2014-04-101-1/+1
| | |
* | | Merge branch 'master' into rm-uuid-fixturesRafael Mendonça França2014-04-1020-80/+60
|\ \ \ | | |/ | |/| | | | | | | | | | Conflicts: activerecord/CHANGELOG.md activesupport/CHANGELOG.md
| * | Only call uniq on the conditional that actually needs itCarlos Antonio da Silva2014-04-091-1/+1
| | |
| * | Remove extra collect callCarlos Antonio da Silva2014-04-091-1/+1
| | |
| * | Make the aggregate_reflections cache work with strings as its keys.Lauro Caetano2014-04-091-2/+2
| | |
| * | No need to call `to_sym` on reflection name, since the cache now worksLauro Caetano2014-04-091-2/+2
| | | | | | | | | | | | | | | | | | with strings with string keys. Related #14668.
| * | Make the reflections cache work with strings as its keys.Lauro Caetano2014-04-091-2/+2
| | |
| * | The `source` option for `has_many => through` should accept StringLauro Caetano2014-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | values. With the changes introduced by 16b70fddd4dc7e7fb7be108add88bae6e3c2509b it was expecting the value to be a Symbol, while it could be also a String value.
| * | Drop in @jeremy's new database.yml template textMatthew Draper2014-04-091-1/+1
| | | | | | | | | | | | | | | In passing, allow multi-word adapters to be referenced in a URL: underscored_name must become hyphened-name.
| * | Don't deprecate after allMatthew Draper2014-04-091-16/+2
| | |
| * | Less ambition, more deprecationMatthew Draper2014-04-091-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | The "DATABASE_URL_*" idea was moving in the wrong direction. Instead, let's deprecate the situation where we end up using ENV['DATABASE_URL'] at all: the Right Way is to explicitly include it in database.yml with ERB.
| * | Give a deprecation message even when the lookup failsMatthew Draper2014-04-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the supplied string doesn't contain a colon, it clearly cannot be a database URL. They must have intended to do a key lookup, so even though it failed, give the explanatory deprecation warning, and raise the exception that lists the known configs. Conveniently, this also simplifies our logical behaviour: if the string matches a known configuration, or doesn't contain a colon (and is therefore clearly not a URL), then we output a deprecation warning, and behave exactly as we would if it were a symbol.