aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | `CollectionAssociation#empty?` respects newly builded recordsYves Senn2013-01-131-1/+1
| | | | |
* | | | | iterates the RDoc of update_column(s)Xavier Noria2013-01-181-13/+13
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | This revision makes crystal clear that the methods go straight to the database and update the receiver. It also adds and example, and removes the duplication in the singular and plural forms by referring one to the other.
* | | | Refactor predicate builder when receiving empty hashCarlos Antonio da Silva2013-01-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need to create a new arel table or reflect on the column association if the value is empty, these attributes are not used. Also no need to concat a new array, just append the query value.
* | | | Don't rely on Hash key's orderingVitor Baptista2013-01-162-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we set encoding latin1 for a PostgreSQL database, it calls PostgreSQLAdapter::create_database with options that have, among other things: { 'encoding' => 'latin1' } Then, we use reverse_merge(:encoding => "utf8") to setup the default encoding. In the end, the hash looks like: { :encoding => 'utf8', 'encoding' => 'latin1' } The call to options.symbolize_keys calls to_sym on each_key of this Hash. It usually means that the encoding passed overwrites the default utf8, but it's not guaranteed. So, we shouldn't rely on it. The same was happening in ActiveRecord::ConnectionHandling.
* | | | Revert "Merge pull request #8930 from cordawyn/ordered_railties"Carlos Antonio da Silva2013-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8348f9ea72c9b50fc4d4462fd9ebe3bba932c783, reversing changes made to 9dfe2d6f9fabddf9a451a995678a9648c8aaf401. Reason: this broke railties tests as explained in the issue, and the author is going to review and report back. https://github.com/rails/rails/pull/8930#issuecomment-12272671
* | | | Merge pull request #8930 from cordawyn/ordered_railtiesCarlos Antonio da Silva2013-01-151-1/+1
|\ \ \ \ | | | | | | | | | | rake railties:install:migrations respects the order of railties
| * | | | rake railties:install:migrations respects the order of railtiesSlava Kravchenko2013-01-141-1/+1
| |/ / /
* / / / Improve mysql database tasks handling to ensure we always rescue from an ↵Carlos Antonio da Silva2013-01-151-9/+13
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | exception We were previously rescuing "nil" when no exception class was found. This does work in 1.9.3, but does not in 2.0, raising an exception asking for a class or module to be given to the rescue clause. Thanks @yahonda for catching this.
* | | Fix AR tests due to Mysql constant not being definedCarlos Antonio da Silva2013-01-123-7/+5
| | |
* | | Bring back "database already exists" messages when running rake tasksCarlos Antonio da Silva2013-01-124-13/+20
|/ / | | | | | | | | | | | | | | | | | | When running tasks such "rake db:setup", instead of showing messages like "db_development already exists", it was showing a big stack trace and a message "Couldn't create database for ..." with the configuration options, a very confusing message with a big trace. This brings back the functionality present in 3-2, showing the same message.
* | Merge pull request #8568 from inossidabile/fix-in_clause_lengthJon Leighton2013-01-111-1/+1
|\ \ | | | | | | Correct source for in_clause_length for eager loading (Fix for #8474)
| * | Eager loading made to use relation's in_clause_length instead of host's one ↵Boris Staal2012-12-201-1/+1
| | | | | | | | | | | | (fixes #8474)
* | | Merge pull request #8823 from acapilleri/target_reflection_has_associated_recordCarlos Antonio da Silva2013-01-081-5/+1
|\ \ \ | | | | | | | | Refactor target_reflection_has_associated_record?
| * | | target_reflection_has_associated_record? refactoringAngelo Capilleri2013-01-081-5/+1
| | | |
* | | | Merge pull request #8826 from acapilleri/different_targetCarlos Antonio da Silva2013-01-081-2/+5
|\ \ \ \ | |_|_|/ |/| | | Improved different_target conditions
| * | | improved different_target conditionsAngelo Capilleri2013-01-081-2/+5
| |/ /
* | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-01-095-58/+16
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: guides/source/getting_started.md
| * | | prefer american spelling of 'behavior'Gosha Arinich2013-01-072-3/+3
| | | |
| * | | remove meaningless use of Relation#allAkira Matsuda2013-01-033-4/+4
| | | | | | | | | | | | | | | | particularly, `all(options)` would warn
| * | | wrong model nameAkira Matsuda2013-01-021-1/+1
| | | |
| * | | find + conditions is deprecated in AR 4Akira Matsuda2013-01-021-3/+3
| | | |
| * | | find_or_initialize_by is deprecated in AR 4Akira Matsuda2013-01-021-7/+0
| | | |
| * | | find_or_create_by is deprecated in AR 4Akira Matsuda2013-01-022-27/+2
| | | |
| * | | find_last_by is deprecated in AR 4Akira Matsuda2013-01-021-4/+3
| | | |
| * | | find_all_by is deprecated in AR 4Akira Matsuda2013-01-021-6/+3
| | | |
| * | | scoped_by is deprecated in AR 4Akira Matsuda2013-01-021-6/+0
| | | |
* | | | Ignore binds payload with nil column in AR log subscriberCarlos Antonio da Silva2013-01-081-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some tests were raising the following error: Could not log "sql.active_record" event. NoMethodError: undefined method `type' for nil:NilClass` Due to the way binds were being logged, the column info was considered always present, but that is not true for some of the tests listed in the issue. Closes #8806.
* | | | Merge pull request #8800 from acapilleri/primary_keyAndrew White2013-01-081-1/+1
|\ \ \ \ | | | | | | | | | | refactor reset_primary_key and change !blank? to present? in get_primary...
| * | | | change unless !blank? to if blank? in get_primary_keyAngelo capilleri2013-01-081-1/+1
| | | | |
* | | | | Fix named scope + class method exampleCarlos Antonio da Silva2013-01-071-3/+1
|/ / / / | | | | | | | | | | | | Closes #8804 [ci skip]
* | | | Use whitelist to pass valid connection parameters to PGConn.Rafael Mendonça França2013-01-061-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All the valids parameters for libpq are used. See http://www.postgresql.org/docs/9.1/static/libpq-connect.html for the full list Fixes #8784
* | | | Remove the configuration key in the correct placeRafael Mendonça França2013-01-061-3/+1
| | | |
* | | | Namespace HashWithIndifferentAccessAkira Matsuda2013-01-071-3/+3
| | | |
* | | | Fix error when assigning NaN to an integer columnTristan Harward2013-01-061-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also covers any non-castable case by returning nil, which is in-line with the intention of the former implementation, but covers the odd cases which respond to to_i but raise an error when it's called, such as NaN, Infinity and -Infinity. Fixes #8757
* | | | Missing requireAkira Matsuda2013-01-071-0/+2
| | | |
* | | | These are already required through AS/railsAkira Matsuda2013-01-078-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | * dependencies/autoload * concern * deprecation
* | | | Remove unnecessary begin..rescue..end, use only rescueAkira Matsuda2013-01-061-25/+23
| | | |
* | | | Support for PostgreSQL's ltree data type.Rob Worley2013-01-042-1/+9
| | | |
* | | | Reuse the Column integer converterRafael Mendonça França2013-01-031-1/+1
| | | |
* | | | Fix undefined method `to_i' introduced since 3.2.8Jason Stirk2013-01-041-1/+5
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes a bug introduced in 96a13fc7 which breaks behaviour of integer fields. In 3.2.8, setting the value of an integer field to a non-integer (eg. Array, Hash, etc.) would default to 1 (true) : # 3.2.8 p = Post.new p.category_id = [ 1, 2 ] p.category_id # => 1 p.category_id = { 3 => 4 } p.category_id # => 1 In 3.2.9 and above, this will raise a NoMethodError : # 3.2.9 p = Post.new p.category_id = [ 1, 2 ] NoMethodError: undefined method `to_i' for [1, 2]:Array Whilst at first blush this appear to be sensible, it combines in bad ways with scoping. For example, it is common to use scopes to control access to data : @collection = Posts.where(:category_id => [ 1, 2 ]) @new_post = @collection.new In 3.2.8, this would work as expected, creating a new Post object (albeit with @new_post.category_id = 1). However, in 3.2.9 this will cause the NoMethodError to be raised as above. It is difficult to avoid triggering this error without descoping before calling .new, breaking any apps running on 3.2.8 that rely on this behaviour. This patch deviates from 3.2.8 in that it does not retain the somewhat spurious behaviour of setting the attribute to 1. Instead, it explicitly sets these invalid values to nil : p = Post.new p.category_id = [ 1, 2 ] p.category_id # => nil This also fixes the situation where a scope using an array will "pollute" any newly instantiated records. @new_post = @collection.new @new_post.category_id # => nil Finally, 3.2.8 exhibited a behaviour where setting an object to an integer field caused it to be coerced to "1". This has not been retained, as it is spurious and surprising in the same way that setting Arrays and Heshes was : c = Category.find(6) p = Post.new # 3.2.8 p.category_id = c p.category_id # => 1 # This patch p.category_id = c p.category_id # => nil This commit includes explicit test cases that expose the original issue with calling new on a scope that uses an Array. As this is a common situation, an explicit test case is the best way to prevent regressions in the future. It also updates and separates existing tests to be explicit about the situation that is being tested (eg. AR objects vs. other objects vs. non-integers)
* | | Change docs to use update instead of update_attributesAmparo Luna + Guillermo Iguaran2013-01-032-2/+2
| | |
* | | Rename update_attributes method to update, keep update_attributes as an aliasAmparo Luna + Guillermo Iguaran2013-01-037-14/+18
| | |
* | | refactoring to_sym of Symbol in preloadAngelo capilleri2013-01-021-1/+3
| | |
* | | remove meaningless AS::FrozenObjectErrorAkira Matsuda2013-01-021-1/+1
|/ /
* | Updated copyright notices for 2013Andrew Nesbitt2012-12-311-1/+1
| |
* | refatctoring of some code repetition in spawn_methodsAngelo capilleri2012-12-311-8/+10
| |
* | Point to guides.rubyonrails.org instead of edgeguides.rubyonrails.orgSantiago Pastorino2012-12-301-2/+2
| |
* | Fix missing ending newline in db structure dump:Thibault Jouan2012-12-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | When dumping database structure with `rake db:structure:dump` and using migrations, the resulting file will not end with a newline char. Although it's not mandatory, it breaks a lot of simple use cases with programs like cat, more, grep, etc. This changes use `puts' instead of `<<' to append migration versions data to the dump and also split the line where this is happening as it was a bit long.
* | warning removed: shadowing outer local variableArun Agrawal2012-12-301-2/+2
| |
* | fix time typcasting on group counts in PGAaron Patterson2012-12-281-2/+5
| |