Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix error when assigning NaN to an integer column | Tristan Harward | 2013-01-06 | 1 | -0/+6 |
| | | | | | | | | | 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 | ||||
* | Remove unnecessary begin..rescue..end, use only rescue | Akira Matsuda | 2013-01-06 | 3 | -21/+15 |
| | |||||
* | deprecate `assert_blank` and `assert_present`. | Yves Senn | 2013-01-05 | 4 | -7/+7 |
| | | | | | They don't add any benefits over `assert object.blank?` and `assert object.present?` | ||||
* | Use better variable names for ltree tests, remove instance variable | Carlos Antonio da Silva | 2013-01-05 | 2 | -14/+12 |
| | |||||
* | Revert "[#8743] Test case" | Rafael Mendonça França | 2013-01-05 | 1 | -5/+0 |
| | | | | | | This reverts commit 162e2859813b31c50700b453aa61992dfa57139e. This commit was added by mistake, sorry :bow: | ||||
* | [#8743] Test case | Cédric FABIANSKI | 2013-01-05 | 1 | -0/+5 |
| | | | | | | | - Reverting #a3cf03ef99 fixes the issue Conflicts: activerecord/test/cases/relations_test.rb | ||||
* | Support for PostgreSQL's ltree data type. | Rob Worley | 2013-01-04 | 4 | -2/+64 |
| | |||||
* | Change duplicated test name | Rafael Mendonça França | 2013-01-03 | 1 | -2/+2 |
| | |||||
* | Fix undefined method `to_i' introduced since 3.2.8 | Jason Stirk | 2013-01-04 | 2 | -6/+26 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) | ||||
* | Merge pull request #8728 from amatsuda/model_all_returns_a_relation | Rafael Mendonça França | 2013-01-03 | 1 | -1/+1 |
|\ | | | | | A small fix for an AR test case | ||||
| * | need to to_a the Relation to execute SQL here | Akira Matsuda | 2013-01-04 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #8705 from amparo-luna/change_update_attributes_to_update | Guillermo Iguaran | 2013-01-03 | 12 | -81/+119 |
|\ \ | |/ |/| | Rename update_attributes method to update | ||||
| * | Rename update_attributes method to update, keep update_attributes as an alias | Amparo Luna + Guillermo Iguaran | 2013-01-03 | 12 | -81/+119 |
| | | |||||
* | | CVE-2012-5664 options hashes should only be extracted if there are extra ↵ | Aaron Patterson | 2013-01-02 | 1 | -0/+12 |
|/ | | | | | | | parameters Conflicts: activerecord/lib/active_record/dynamic_matchers.rb | ||||
* | Merge pull request #8682 from amatsuda/rm_as_frozen_object_error | Guillermo Iguaran | 2013-01-01 | 3 | -6/+3 |
|\ | | | | | remove meaningless AS::FrozenObjectError | ||||
| * | remove meaningless AS::FrozenObjectError | Akira Matsuda | 2013-01-02 | 3 | -6/+3 |
| | | |||||
* | | Standardize the use of current_adapter? | Rafael Mendonça França | 2013-01-01 | 9 | -19/+19 |
| | | |||||
* | | Merge pull request #8678 from yahonda/remove_column_oracle | Rafael Mendonça França | 2013-01-01 | 1 | -2/+3 |
|\ \ | | | | | | | Address a failure test_remove_column_with_multi_column_index with Oracle | ||||
| * | | Address a failure test_remove_column_with_multi_column_index with Oracle ↵ | Yasuo Honda | 2013-01-02 | 1 | -2/+3 |
| |/ | | | | | | | | | | | | | database Not only PostgreSQL, Oracle database adapter drops the multi-column index if any of the indexed columns dropped by remove_column. | ||||
* / | unused scope | Akira Matsuda | 2013-01-02 | 1 | -2/+0 |
|/ | |||||
* | Alias refute methods to assert_not and perfer assert_not on tests | Rafael Mendonça França | 2012-12-31 | 10 | -40/+40 |
| | |||||
* | Add active_support/testing/autorun | Rafael Mendonça França | 2012-12-31 | 2 | -2/+2 |
| | | | | | minitest/autorun load minitest/spec polluting the global namespace with the DSL that we don't want on Rails | ||||
* | add missing require and fixtures | Aaron Patterson | 2012-12-29 | 1 | -0/+3 |
| | |||||
* | fix time typcasting on group counts in PG | Aaron Patterson | 2012-12-28 | 1 | -0/+6 |
| | |||||
* | fix PG typecasting errors | Aaron Patterson | 2012-12-28 | 1 | -20/+7 |
| | |||||
* | work off FIXME comments in AR rename_column_test.rb | Yves Senn | 2012-12-28 | 1 | -9/+22 |
| | | | | | | There were a couple of tests, which had FIXME comments in palce of assertions. I replaced these FIXME comments with actual assertions to get more feedback from our test suite. | ||||
* | validate :on option on after_commit and after_rollback callbacks | Pascal Friederich | 2012-12-26 | 1 | -0/+8 |
| | |||||
* | Fixes for PR [#8267] | Marc-Andre Lafortune | 2012-12-22 | 1 | -2/+4 |
| | | | | | | | | * Fix Migration#reversible by not using `transaction`. * Adapt mysql adapter to updated api for remove_column * Update test after aedcd683684d08eaf30623a4b48ce31a31426372 | ||||
* | Remove duplicated methods in command recorder and duplicated test name | Carlos Antonio da Silva | 2012-12-21 | 1 | -1/+1 |
| | |||||
* | Merge pull request #8267 from marcandre/reversible_drop_table_etc | Aaron Patterson | 2012-12-21 | 4 | -92/+318 |
|\ | | | | | Reversible commands | ||||
| * | Make execute, change_column and remove_columns methods actually irreversible | Marc-Andre Lafortune | 2012-12-21 | 1 | -1/+7 |
| | | | | | | | | [#8267] | ||||
| * | Make change_table reversible when possible [#8267] | Marc-Andre Lafortune | 2012-12-21 | 1 | -0/+20 |
| | | |||||
| * | Factorize methods that are easily reversible [#8267] | Marc-Andre Lafortune | 2012-12-21 | 1 | -8/+8 |
| | | |||||
| * | Make remove_index reversible [#8267] | Marc-Andre Lafortune | 2012-12-21 | 1 | -3/+24 |
| | | |||||
| * | Differentiate between remove_column and remove_columns. Make remove_column ↵ | Marc-Andre Lafortune | 2012-12-21 | 2 | -3/+14 |
| | | | | | | | | | | | | reversible. [#8267] | ||||
| * | Make drop_table reversible [#8267] | Marc-Andre Lafortune | 2012-12-21 | 2 | -14/+27 |
| | | |||||
| * | Add drop_join_table [#8267] | Marc-Andre Lafortune | 2012-12-21 | 2 | -4/+52 |
| | | |||||
| * | Add Migration#reversible for reversible data operations [#8267] | Marc-Andre Lafortune | 2012-12-21 | 1 | -0/+39 |
| | | |||||
| * | Allow revert of whole migration [#8267] | Marc-Andre Lafortune | 2012-12-21 | 1 | -0/+63 |
| | | |||||
| * | Allow reverting of migration commands with Migration#revert [#8267] | Marc-Andre Lafortune | 2012-12-21 | 2 | -48/+74 |
| | | |||||
| * | Simplify change_table and avoid duplicated logic | Marc-Andre Lafortune | 2012-12-21 | 1 | -26/+5 |
| | | |||||
* | | Fix broken test for postgresql | Rafael Mendonça França | 2012-12-21 | 1 | -1/+1 |
|/ | | | | | | For some reason postgresql doesn't pass an integer value to load. cc @tenderlove | ||||
* | Serialized attribute can be serialized in an integer column | Rafael Mendonça França | 2012-12-21 | 3 | -1/+32 |
| | | | | Fix #8575 | ||||
* | Wrap table creation in a transaction. | Rafael Mendonça França | 2012-12-21 | 1 | -6/+8 |
| | | | | This will make the tests pass when the intrange datatype is not present | ||||
* | Merge pull request #8522 from senny/3489_index_names_on_copy | Carlos Antonio da Silva | 2012-12-19 | 1 | -0/+10 |
|\ | | | | | Leep index names when using `alter_table` with sqlite3. Closes #3489 | ||||
| * | Keep index names when using with sqlite3 | Yves Senn | 2012-12-19 | 1 | -0/+10 |
| | | |||||
* | | Address test_binary_data_is_not_logged with Oracle database | Yasuo Honda | 2012-12-19 | 1 | -2/+1 |
|/ | | | | | | The number of sql statement logged depends on each database adapter implementation. Also, this test does not depends on how many sql statement executed. | ||||
* | Added support for validates_uniqueness_of in PostgreSQL array columns. ↵ | Pedro Padron | 2012-12-18 | 1 | -3/+20 |
| | | | | Fixes: #8075. | ||||
* | AR supporting new int4range and int8range data type on PostgreSQL >= 9.2. ↵ | Alexey | 2012-12-17 | 1 | -1/+18 |
| | | | | Fix realization | ||||
* | AR supporting new intrange data type on PostgreSQL >= 9.2 | Alexey | 2012-12-16 | 2 | -1/+98 |
| |