aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/calculations_test.rb
Commit message (Collapse)AuthorAgeFilesLines
...
| * Add coverage for the fact that pluck without an argument returns all the ↵Ben Woosley2013-05-101-0/+5
| | | | | | | | table's columns.
| * Fix that #pluck wasn't rescuing ThrowResult, meaning it would blow up when ↵Ben Woosley2013-05-101-0/+6
| | | | | | | | failing to construct_limited_ids_condition.
* | Remove #sum with a block was deprecated.kennyj2013-06-011-6/+0
|/
* Handle aliased attributes in ActiveRecord::Relation.Godfrey Chan2013-05-011-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | When using symbol keys, ActiveRecord will now translate aliased attribute names to the actual column name used in the database: With the model class Topic alias_attribute :heading, :title end The call Topic.where(heading: 'The First Topic') should yield the same result as Topic.where(title: 'The First Topic') This also applies to ActiveRecord::Relation::Calculations calls such as `Model.sum(:aliased)` and `Model.pluck(:aliased)`. This will not work with SQL fragment strings like `Model.sum('DISTINCT aliased')`. Github #7839 *Godfrey Chan*
* replace #merge with relation API calls in calculations_test.Yves Senn2013-04-021-17/+13
|
* Deprecate the `:distinct` option for `Relation#count`.Yves Senn2013-03-151-4/+14
| | | | | | | We moved more and more away from passing options to finder / calculation methods. The `:distinct` option in `#count` was one of the remaining places. Since we can now combine `Relation#distinct` with `Relation#count` the option is no longer necessary and can be deprecated.
* rename `Relation#uniq` to `Relation#distinct`. `#uniq` still works.Yves Senn2013-03-151-1/+2
| | | | | | | | The similarity of `Relation#uniq` to `Array#uniq` is confusing. Since our Relation API is close to SQL terms I renamed `#uniq` to `#distinct`. There is no deprecation. `#uniq` and `#uniq!` are aliases and will continue to work. I also updated the documentation to promote the use of `#distinct`.
* `#count` in conjunction with `#uniq` performs distinct count.Yves Senn2013-01-261-0/+4
| | | | closes #6865
* fix PG typecasting errorsAaron Patterson2012-12-281-20/+7
|
* Deprecate Relation#sum with a block.Carlos Antonio da Silva2012-11-211-2/+4
| | | | | | | To perform a sum calculation over the array of elements, use to_a.sum(&block). Please check the discussion in f9cb645dfcb5cc89f59d2f8b58a019486c828c73 for more context.
* Revert "Yield only one argument instead of splatting."Carlos Antonio da Silva2012-11-211-16/+0
| | | | | | | | | | | | | | This reverts commit f9cb645dfcb5cc89f59d2f8b58a019486c828c73. Conflicts: activerecord/CHANGELOG.md Revert "Allow blocks for count with ActiveRecord::Relation. Document and test that sum allows blocks" This reverts commit 9cc2bf69ce296b7351dc612a8366193390a305f3. Conflicts: activerecord/lib/active_record/relation/calculations.rb
* `#pluck` can be used on a relation with `select` clause.Yves Senn2012-11-121-0/+6
| | | | Closes #7551
* remove unused variables. Oops!Aaron Patterson2012-10-171-2/+2
|
* use columns hash to look up the column for the count fieldAaron Patterson2012-10-171-13/+6
|
* ActiveRecord: sum expression returns string '0' for no records, fixedTim Macfarlane2012-10-151-0/+4
|
* Fix pluck when columns/tables are reserved words.Ian Lesperance2012-09-051-2/+9
|
* Remove ActiveRecord::Base.to_aJon Leighton2012-08-031-1/+1
| | | | | On reflection, it seems like a bit of a weird method to have on ActiveRecord::Base, and it shouldn't be needed most of the time anyway.
* Deprecate ActiveRecord::Base.scoped.Jon Leighton2012-07-271-13/+13
| | | | | | | It doesn't serve much purpose now that ActiveRecord::Base.all returns a Relation. The code is moved to active_record_deprecated_finders.
* ActiveRecord::Base.all returns a Relation.Jon Leighton2012-07-271-1/+1
| | | | | | | | | | | Previously it returned an Array. If you want an array, call e.g. `Post.to_a` rather than `Post.all`. This is more explicit. In most cases this should not break existing code, since Relations use method_missing to delegate unknown methods to #to_a anyway.
* Deprecate update_column in favor of update_columns.Rafael Mendonça França2012-07-241-2/+2
| | | | Closes #1190
* teaching the mysql adapter how to typecast strings returned from the databaseAaron Patterson2012-07-131-2/+2
|
* Ensure Arel columns are typecasted properly when grouping with calculationCarlos Antonio da Silva2012-06-251-3/+7
| | | | Fix build issue with postgresql.
* Stop assuming strings for grouped calculationsErnie Miller2012-06-241-0/+5
| | | | | | | | | | | | | | | Execute_grouped_calculation is one of those places where ActiveRecord forgets that it has ARel underpinnings, and assumes that the values provided to group_values are strings. This artificially hobbles otherwise functional code. This patch stops assuming that incoming values respond to to_sym, stops using string interpolation for table aliases on objects that support aliasing, and stops unnecessarily joining group_values on the relation. Additionally, it calls to_sql, if available, on objects sent to column_alias_for, in order to get a more reasonable alias string than a non-string's default to_str method.
* Refactor pluck with multiple columnsCarlos Antonio da Silva2012-06-221-10/+16
| | | | | | | | | | | | Ensure it works with mix of symbols and strings, and with a select clause possibly containing more than one column. Also remove support for pluck with an array of columns, in favor of passing the list of attributes: Model.pluck(:a, :b) See comments: https://github.com/rails/rails/pull/6500#issuecomment-6030292
* ActiveRecord#pluck now accepts multiple columnsjeroeningen2012-06-221-1/+16
|
* Extract conditional to a method to avoid duplicationRafael Mendonça França2012-06-191-0/+3
| | | | Also use if/else block to not use short circuit return
* handle joins/includes correctly for pluck and calculation.Andrey Deryabin2012-06-191-0/+43
| | | | Fix #5990
* Allow blocks for count with ActiveRecord::Relation. Document and test that ↵chrisfinne2012-05-281-0/+16
| | | | sum allows blocks
* MySQL returns "SUM(DISTINCT(credit_limit))" as the column name unlessAaron Patterson2012-05-161-1/+5
| | | | | an alias is provided. Without the alias, the column cannot be found and properly typecast.
* Fixes issue where SQL fragments prevented type casting based on column type.Erich Menge2012-05-161-0/+3
|
* Restore support for Model.pluck('sql fragment')Jeremy Kemper2012-05-151-0/+8
|
* Fix PR #6091Andrew White2012-04-301-1/+1
| | | | | | 1. ActiveRecord::Base is not ActiveRecord::Relation 2. The order of records from an SQL query is uncertain without an ORDER clause 3. Run your own tests when submitting a pull request
* Add ActiveRecord::Base#idstwinturbo2012-04-301-0/+4
|
* remove deprecate #calculate callsJon Leighton2012-04-261-76/+59
|
* remove tests for #with_scope (it's now deprecated)Jon Leighton2012-04-251-6/+0
|
* fix testsJon Leighton2012-04-131-5/+5
|
* typecast columns based on the returned typesAaron Patterson2012-02-091-6/+1
|
* PostgreSQL does not work in the same way of the other adaptersRafael Mendonça França2012-02-081-3/+7
|
* AR::Relation#pluck: improve to work with joinsBogdan Gusiev2012-02-081-0/+11
|
* Deprecate inferred JOINs with includes + SQL snippets.Jon Leighton2012-01-161-3/+3
| | | | | | See the CHANGELOG for details. Fixes #950.
* Revert "Deprecate implicit eager loading. Closes #950."Jon Leighton2012-01-161-6/+4
| | | | This reverts commit c99d507fccca2e9e4d12e49b4387e007c5481ae9.
* Deprecate implicit eager loading. Closes #950.Jon Leighton2011-12-291-4/+6
|
* Make ActiveRecord::Relation#pluck work with serialized attributesJon Leighton2011-12-221-1/+8
|
* ActiveRecord::Relation#pluck methodBogdan Gusiev2011-11-301-0/+25
|
* pg does not allow aliases in the having clause, but functions are fineAaron Patterson2011-08-051-1/+1
|
* Fixed failing query when performing calculation with having based on select.Dmitriy Kiriyenko2011-07-271-0/+7
|
* Fixed AR::Relation#sum compatibility with Array#sumBogdan Gusiev2011-07-051-0/+4
| | | | | In order make Relation behavior closer to Array Made Relation#sum to accept block and delegate it to Array#sum
* please use ruby -I lib:test path/to/test.rb, or export RUBY_OPTAaron Patterson2011-06-061-1/+1
|
* Refactor Active Record test connection setup. Please see the ↵Jon Leighton2011-06-041-1/+1
| | | | RUNNING_UNIT_TESTS file for details, but essentially you can now configure things in test/config.yml. You can also run tests directly via the command line, e.g. ruby path/to/test.rb (no rake needed, uses default db connection from test/config.yml). This will help us fix the CI by enabling us to isolate the different Rails versions to different databases.
* Bug fixes:Fadzril Muhamad & Joseph Palermo2011-05-121-0/+11
| | | | | | - If doing a count on a relation that has an :include and a :join, it does a distinct even though it should not. - When doing a count on a relation that has an :include, it always falls back to a old style left join when performing the count. Looks like it was broken here: https://github.com/rails/rails/commit/b9599502c9e738a5a1513e75d08f8d40ed408265