aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* push belongs_to counter cache method to a single methodAaron Patterson2013-06-111-17/+18
|
* push before_destroy counter cache method to a single methodAaron Patterson2013-06-111-12/+17
|
* remove evaled belongs_to counter cache methodAaron Patterson2013-06-111-8/+22
|
* adding callbacks should be privateAaron Patterson2013-06-111-4/+6
|
* remove evals from the associationAaron Patterson2013-06-111-8/+2
|
* reduce evals in depdendent associationsAaron Patterson2013-06-111-1/+2
|
* Remove fall back and column restrictions for `count`.Yves Senn2013-06-091-10/+6
|
* cleanup whitespace in relation.rbYves Senn2013-06-091-1/+1
|
* Getting rid of the +automatic_inverse_of: false+ option in associations in favorwangjohn2013-06-085-14/+19
| | | | | of using +inverse_of: false+ option. Changing the documentation and adding a CHANGELOG entry for the automatic inverse detection feature.
* Revert "Merge pull request #10539 from davidcelis/ar-sql-improvements"Jon Leighton2013-06-071-1/+5
| | | | | | | | | This reverts commit 257fa6897d9c85da16b7c9fcb4ae3008198d320e, reversing changes made to 94725b81f5588e4b0f43222c4f142c3135941b4b. The build failed https://travis-ci.org/rails/rails/builds/7883546
* ActiveRecord::Relation#blank? should `LIMIT 1`David Celis2013-06-071-5/+1
| | | | | | | | | | | | | | | This is an SQL improvement to ActiveRecord::Relation#blank?. Currently, it calls `to_a` on the Relation, which loads all records in the association, and calls `blank?` on the loaded Array. There are other ways, however, to check the emptiness of an association that are far more performant. `#empty?`, `#exists?` and `#any?` all attach a `LIMIT 1` to the SQL query before firing it off, which is a nice query improvement. `#blank?` should do the same! Bonus performance improvements will also happen for `#present?`, which merely calls the negation of `#blank?` Signed-off-by: David Celis <me@davidcel.is>
* Merge pull request #10561 from Empact/nix-throwresultJon Leighton2013-06-074-21/+21
|\ | | | | Rather than raising ThrowResult when construct_limited_ids_conditions comes up empty, set the relation to NullRelation and rely on its results.
| * Rather than raising ThrowResult when construct_limited_ids_conditions comes ↵Ben Woosley2013-05-103-21/+15
| | | | | | | | | | | | up empty, set the relation to NullRelation and rely on its results. This will help avoid errors like 2fcafee250ee2, because in most cases NullRelation will do the right thing. Minor bonus is avoiding the use of exceptions for flow control.
| * Make NullRelation a bit more like a real relation by returning 0 for ↵Ben Woosley2013-05-101-1/+5
| | | | | | | | #calculate(:count)
| * No point in memoizing a simple literal string.Ben Woosley2013-05-101-1/+1
| |
| * Fix that #pluck wasn't rescuing ThrowResult, meaning it would blow up when ↵Ben Woosley2013-05-101-0/+2
| | | | | | | | failing to construct_limited_ids_condition.
* | Fix Build. Changing constructor.Arun Agrawal2013-06-051-3/+3
| |
* | Merge pull request #10482 from scudco/10432-fix-add-column-with-arrayAaron Patterson2013-06-051-0/+1
|\ \ | | | | | | Fixes #10432 add_column not creating array columns in PostgreSQL
| * | Fixes #10432 add_column not creating array columns in PostgreSQLAdam Anderson2013-06-041-0/+1
| | | | | | | | | | | | | | | | | | When then PostgreSQL visitor was [added](https://github.com/rails/rails/commit/6b7fdf3bf3675a14eae74acc5241089308153a34) `add_column` was no longer receiving the column options directly. This caused the options to be lost along the way.
* | | only check pending migrations if there are new filesAaron Patterson2013-06-051-2/+25
| | |
* | | Fix #10789. Now at last ::Logger doesn't support #silence method .kennyj2013-06-051-3/+1
| | |
* | | the typecast value should be passed to the serializer. fixes #10830Aaron Patterson2013-06-051-5/+5
|/ /
* | Revert "Merge pull request #4490 from EmmanuelOga/master"José Valim2013-06-042-2/+2
| | | | | | | | | | | | | | | | This behaviour doesn't actually make sense, the context of the child should not be affected by the parent. See #10492. This reverts commit 5f8274efe128ffeec8fa3179460f5167a078f007, reversing changes made to 81e837e810460d066a2e5fc5a795366ec8ab2313.
* | Remove instance level serialized_attributes setting was deprecated.kennyj2013-06-021-7/+0
| |
* | Remove instance level attr_readonly setting was deprecated.kennyj2013-06-021-6/+0
| |
* | Remove behavior that deals with a string as third argument of `add_index`, ↵kennyj2013-06-021-28/+14
| | | | | | | | | | | | because this was deprecated. Some testcases is failed, so I replaced nil to empty hash in add_reference.
* | Remove #sum with a block was deprecated.kennyj2013-06-011-9/+1
| |
* | revises the documentation of ActiveRecord::Relation#find_or_create_by [ci skip]Xavier Noria2013-06-011-14/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Inspect uses double quotes. * Inspect puts a hash as in #<User ...>. * Documents the return value, and makes explicit it can be an invalid record. * Documents the method is not atomic. * Documents a way to handle UNIQUE contraint violations in the event of a race condition. * Removes the "Examples" header according to our guidelines.
* | rewrites AR's reload documentationXavier Noria2013-05-311-4/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * It is no longer true that options are passed to find. * Documents that ActiveRecord::RecordNotFound may be raised. * Documents that the reload happens in-place. * Documents that caches are wiped. * Documents that the method returns self. * Documents a couple of use cases.
* | Fix word order in documentation for with_lockPedro Fayolle2013-05-301-1/+1
| |
* | Merge pull request #10767 from jmondo/masterCarlos Antonio da Silva2013-05-291-1/+1
|\ \ | | | | | | Use grep instead of select with === in QueryMethods
| * | use grep over select for consistency and efficiencyJohn Gesimondo2013-05-281-1/+1
| | | | | | | | | | | | pass block directly to grep
* | | Merge pull request #10766 from kylerippey/minor_schema_migration_refactorRafael Mendonça França2013-05-281-18/+24
|\ \ \ | | | | | | | | Minor refactor of ActiveRecord::SchemaMigration
| * | | Minor refactor of ActiveRecord::SchemaMigration to remove references to ↵Kyle Rippey2013-05-261-18/+24
| |/ / | | | | | | | | | Base, override table_exists method, and switch to preferred style for class method definitions.
* | | `implicit_readonly` is being removed in favor of calling `readonly` explicitlyYves Senn2013-05-272-10/+1
| | |
* | | cleanup whitespace in `active_record/relation.rb`.Yves Senn2013-05-271-4/+4
|/ /
* | Merge pull request #10713 from senny/10693_fix_primary_key_option_on_has_manyRafael Mendonça França2013-05-231-2/+1
|\ \ | | | | | | Fix the `:primary_key` option for `has_many` associations.
| * | Fix the `:primary_key` option for `has_many` associations.Yves Senn2013-05-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When removing records from a `has_many` association it used the `primary_key` defined on the association. Our test suite didn't fail because on all occurences of `:primary_key`, the specified column was available in both tables. This prevented the code from raising an exception but it still behaved badly. I added a test-case to prevent regressions that failed with: ``` 1) Error: HasManyAssociationsTest#test_has_many_assignment_with_custom_primary_key: ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: essays.first_name: UPDATE "essays" SET "writer_id" = NULL WHERE "essays"."writer_id" = ? AND "essays"."first_name" IS NULL ```
* | | deprecate Validator#setup (to get rid of a respond_to call). validators do ↵Nick Sutterer2013-05-231-6/+1
|/ / | | | | | | their setup in their constructor now.
* | remove code duplicationNeeraj Singh2013-05-221-2/+3
| |
* | reverse comparison because of strange AS behaviorAaron Patterson2013-05-211-1/+1
| | | | | | | | http://tenderlovemaking.com/2013/05/21/one-danger-of-freedom-patches.html
* | just set the default argument, a nil parent should be an errorAaron Patterson2013-05-211-2/+1
| |
* | fold the collection rather than multiple assigmentsAaron Patterson2013-05-211-3/+2
| |
* | use drop rather than calculate the array lengthAaron Patterson2013-05-211-1/+1
| |
* | Merge branch 'bindwhere'Aaron Patterson2013-05-211-20/+20
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | * bindwhere: avoid creating a set if no where values are removed remove bind values for where clauses that were removed push partitioning up so bind elimination can get the removed wheres push partion logic down and initialization logic up partition the where values so we can access the removed ones
| * | avoid creating a set if no where values are removedAaron Patterson2013-05-211-0/+2
| | |
| * | remove bind values for where clauses that were removedAaron Patterson2013-05-211-9/+8
| | |
| * | push partitioning up so bind elimination can get the removed wheresAaron Patterson2013-05-211-5/+3
| | |
| * | push partion logic down and initialization logic upAaron Patterson2013-05-211-15/+11
| | |
| * | partition the where values so we can access the removed onesAaron Patterson2013-05-201-1/+6
| | |