aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* extract record fetching to a method for belongs_toAaron Patterson2014-04-221-1/+5
|
* Merge branch 'master' into adequaterecordAaron Patterson2014-04-2017-77/+124
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (74 commits) [ci skip] builtin -> built-in Fix code indentation and improve formatting Grammar fix in Getting Started Guide Make URL escaping more consistent Optimize URI escaping Always escape string passed to url helper. Remove statement assuming coffee shop/public space wifi is inherently insecure Don't rely on Arel master in bug report template [ci skip] wrap methods in backticks [ci skip] "subhash" --> "sub-hash" multibyte_conformance.rb --> multibyte_conformance_test.rb Fix inconsistent behavior from String#first/#last `@destroyed` should always be set to `false` when an object is duped. remove warning `warning: ambiguous first argument; put parentheses or even spaces` :uglify -> :uglifier Regression test for irregular inflection on has_many Singularize association names before camelization Fix spelling and proper nouns Optimize select_value, select_values, select_rows and dry up checking whether to exec with cache for Postgresql adapter Include default rails protect_from_forgery with: :exception ... Conflicts: activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
| * `@destroyed` should always be set to `false` when an object is duped.Kuldeep Aggarwal2014-04-191-0/+1
| |
| * Merge branch 'master' of github.com:rails/docrailsVijay Dev2014-04-181-2/+2
| |\
| | * [ci skip] Use valid current config in exampleschneems2014-04-151-2/+2
| | | | | | | | | `reaping_frequency` is used in Active Record `reap_frequency` is not
| * | Merge pull request #14790 from krisselden/optimize-postgres-selectsRafael Mendonça França2014-04-182-19/+41
| |\ \ | | | | | | | | Optimize select_value, select_values, select_rows in Postgresql adapter.
| | * | Optimize select_value, select_values, select_rows and dry up checking ↵Kris Selden2014-04-172-19/+41
| | | | | | | | | | | | | | | | | | | | whether to exec with cache for Postgresql adapter Reduces creating unused objects, with the most dramatic reduction in select_values which used to map(&:first) an array of single element arrays.
| * | | Merge pull request #14793 from arthurnn/fixes_8928Rafael Mendonça França2014-04-181-2/+2
| |\ \ \ | | |/ / | |/| | Fixed has_many association to make it support irregular inflections.
| | * | Singularize association names before camelizationJavier Goizueta2014-04-181-2/+2
| | | | | | | | | | | | | | | | So that irregular multi-word pluralization rules have to be defined only for snake-case strings.
| * | | Bring SQLite3Adpter init API closer to othersArthur Neves2014-04-172-3/+2
| |/ /
| * | 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
| | | |
* | | | use cache queries for hm:t associationsAaron Patterson2014-04-151-1/+1
| | | |
* | | | oops. should probably double check in the DCLAaron Patterson2014-04-141-1/+3
| | | |
* | | | cache scope building on associationsAaron Patterson2014-04-145-12/+78
| | | | | | | | | | | | | | | | SQL statements for querying associations are now cached
* | | | Merge branch 'master' into adequaterecordAaron Patterson2014-04-1415-63/+151
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (70 commits) [ci skip] Added link to ruby-lang.org installation. Use the index on hidden field `collection_check_boxes` respects `:index` option for the hidden filed name. docs, double meaning of `serialize` argument. Closes #14284. Just call read_attribute, no need to use `send`. - Fix lingering reference to `:text` instead of the newer `:plain` - Section references `form_tag` instead of the `form_for` used in the example again, read_attribute is public, so just call it read_attribute is public, so we should just call it Disable assest cache store in docs [ci skip] Make counter cache decrementation on destroy idempotent Write the failing test case for concurrent counter cache [ci skip] Use plain underscore instead of "\_". Update documentation to use Rails.application instead Add a changelog entry for #14546 [ci skip] Move tests for deep_dup and duplicable to object directory Missing 'are' in note - [ci skip] CollectionHelpers now accepts a readonly option Fix a few typos [ci skip] Bundle tzinfo-data on :x64_mingw (64-bit Ruby on Windows). don't bother with an offset if the offset is zero ...
| * | | 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.