aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | Ensure time zones don't change after round trip with array columnsSean Griffin2014-06-072-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The times would be equivalent, even if they were in different time zones. E.g. 12:00 UTC == 5:00 PDT
* | | | | | | Merge pull request #15562 from sgrif/sg-double-type-cast-dirtyRafael Mendonça França2014-06-075-25/+27
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Do not type cast twice on attribute assignment
| * | | | | | | Do not type cast twice on attribute assignmentSean Griffin2014-06-075-25/+27
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The definition of `write_attribute` in dirty checking ultimately leads to the columns calling `type_cast` on the value to perform the comparison. However, this is a potentially expensive computation that we cache when it occurs in `read_attribute`. The only case that we need the non-type-cast form is for numeric, so we pass that through as well (something I'm looking to remove in the future). This also reduces the number of places that manually access various stages in an attribute's type casting lifecycle, which will aid in one of the larger refactorings that I'm working on.
* | | | | | | Merge pull request #15564 from sgrif/sg-remove-dead-codeRafael Mendonça França2014-06-071-7/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove dead branch when restoring ID within a transaction Conflicts: activerecord/lib/active_record/transactions.rb
| * | | | | | | Remove dead branch when restoring ID within a transactionSean Griffin2014-06-071-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no way to have an instance of an Active Record model where `has_attribute?(self.class.primary_key)` returns false. The record is always initialized in such a way that `@raw_attributes` will have an id key with nil for the value.
* | | | | | | | Move conditionals about freezing closer to the definition of `freeze`Sean Griffin2014-06-072-4/+8
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduces the number of places that care about the internals of how we store and type cast attributes. We do not need to go through the dup/freeze dance, as you couldn't have saved a frozen new record anyway, and that is the only time we would end up modifying the frozen hash.
* / / / / / / Remove duplicated `@raw_attributes.keys`Sean Griffin2014-06-072-3/+3
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Reduces the number of things outside of attribute methods that cares about the details of how we store and type cast attributes
* | | | | | Merge pull request #15557 from sgrif/sg-specify-time-zoneMatthew Draper2014-06-081-5/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | Specify a time zone when testing TZ aware attributes
| * | | | | | Don't rely on `Time.current` in testsSean Griffin2014-06-071-5/+10
| | |/ / / / | |/| | | | | | | | | | | | | | | | Millisecond inequality causes failures on Travis
* / | | | | changelog for #15556 and credit @kuldeepaggarwal [Kuldeep Aggarwal]Yves Senn2014-06-072-2/+6
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow up to #15556 @kuldeepaggarwal did submit this patch way back (#13624).
* | | | | Merge pull request #15556 from sgrif/sg-time-zone-aware-arraysYves Senn2014-06-072-1/+29
|\ \ \ \ \ | | | | | | | | | | | | Add array support when time zone aware attributes are enabled
| * | | | | Add array support when time zone aware attributes are enabledSean Griffin2014-06-072-1/+29
| | | | | |
* | | | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2014-06-071-3/+4
|\ \ \ \ \ \
| * | | | | | [ci skip] remove double "in your"schneems2014-06-041-1/+1
| | | | | | |
| * | | | | | [ci skip] less derogatory explanation of defaultsschneems2014-06-021-2/+3
| | | | | | |
| * | | | | | [ci skip] fix "note" syntaxschneems2014-06-021-1/+1
| | |_|/ / / | |/| | | |
* | | | | | Merge pull request #15542 from Gaurav2728/gaurav-remove_shutdown_linkArthur Nogueira Neves2014-06-061-4/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | remove rubyforge.org that was shut down [ci skip]
| * | | | | | remove rubyforge.org that was shut down [ci skip]Gaurav Sharma2014-06-061-4/+4
| | |_|/ / / | |/| | | |
* | | | | | Removed unused `klass` definitions from typesSean Griffin2014-06-066-21/+0
| |_|/ / / |/| | | | | | | | | | | | | | Only `Date` and `Time` are handled.
* | | | | Merge pull request #15552 from sgrif/sg-remove-klass-special-caseRafael Mendonça França2014-06-062-4/+7
|\ \ \ \ \ | | | | | | | | | | | | Remove composed_of special case from multi-parameter attributes
| * | | | | Remove composed_of special case from multi-parameter attributesSean Griffin2014-06-062-4/+7
| |/ / / / | | | | | | | | | | | | | | | | | | | | As we move towards removing the `klass` method from `column`, the else clause as it stands right now will become the only case.
* / / / / Don't mess with `_before_type_cast` for numeric typesSean Griffin2014-06-062-9/+9
|/ / / /
* | | | Merge pull request #15533 from sgrif/sg-missing-schema-testsYves Senn2014-06-061-0/+29
|\ \ \ \ | | | | | | | | | | Add missing test cases for schema dumping defaults
| * | | | Add missing test cases for schema dumping defaultsSean Griffin2014-06-061-0/+29
| | | | |
* | | | | credit JoseLuis Torres for #15051. [JoseLuis Torres]Yves Senn2014-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | [ci skip]
* | | | | `ActiveRecord::SchemaMigration` has no primary key.Yves Senn2014-06-063-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, using `ActiveRecord::Base.primary_key_prefix_type` with `:table_name_with_underscore` would change the `SchemaMigration` model to have a primary key. This resulted in broken queries for PG because it tried to return the inserted PK (which does not exist). Closes #15051. Closes #15419.
* | | | | test refactor, don't hardcode default for `table_name_prefix`.Yves Senn2014-06-061-1/+2
| | | | |
* | | | | test refactor, don't hardcode `primary_key_prefix_type` default.Yves Senn2014-06-061-0/+3
| | | | | | | | | | | | | | | | | | | | /cc @zuhao
* | | | | serialized Type should delegate `type_cast_for_write` to underlying TypeYves Senn2014-06-062-1/+36
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | This adds a regression test for #14411, which was fixed by #15503. Closes #14411 Closes #14595
* | | | Merge pull request #15503 from sgrif/sg-json-hstore-storageYves Senn2014-06-069-20/+29
|\ \ \ \ | | | | | | | | | | Bring type casting behavior of hstore/json in line with serialized
| * | | | Bring type casting behavior of hstore/json in line with serializedSean Griffin2014-06-049-20/+29
| | | | | | | | | | | | | | | | | | | | | | | | | `@raw_attributes` should not contain the type-cast, mutable version of the value.
* | | | | `bin/rake db:migrate:status` works with legacy migration numbers.Yves Senn2014-06-065-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The migration numbers were normalized different ways. This left the task output in an inconsistent state. Closes #15538.
* | | | | Merge pull request #14971 from versioncontrol/#14785Yves Senn2014-06-063-1/+26
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Baseclass becomes! subclass
| * | | | | Fix Baseclass becomes! subclass.Edo Balvers2014-05-133-1/+26
| | | | | |
* | | | | | Remove optimization that was required with whiny nilsSean Griffin2014-06-051-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | Whiny nils is no longer a thing, so we no longer need this optimization
* | | | | | Fix behavior of handling BC era dates.edogawaconan2014-06-053-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | BC era year is (astronomical year + 1) and starts from 1 BC.
* | | | | | Merge pull request #15512 from akshay-vishnoi/delete-deprecated-methodYves Senn2014-06-053-54/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Remove deprecated method ActiveRecord::Migrator.proper_table_name
| * | | | | | Remove deprecated method ActiveRecord::Migrator.proper_table_nameAkshay Vishnoi2014-06-053-54/+4
| | | | | | |
* | | | | | | Fix inverse associations testLeandro Facchinetti2014-06-041-1/+1
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `InverseHasManyTests#test_parent_instance_should_be_shared_within_create_block_of_new_child` was mistakenly the same as `InverseHasManyTests#test_parent_instance_should_be_shared_within_build_block_of_new_child`.
* | | | | | have an actual `NullColumn` object and update docs accordingly.Yves Senn2014-06-044-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow up to #15438 and #15502. /cc @sgrif
* | | | | | Merge pull request #15502 from sgrif/sg-use-null-columnYves Senn2014-06-042-23/+23
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Use null column for association key types
| * | | | | | Use null column for association key typesSean Griffin2014-06-042-23/+23
| | |/ / / / | |/| | | |
* | | | | | Merge pull request #15504 from sgrif/sg-postgres-defaultsRafael Mendonça França2014-06-042-48/+11
|\ \ \ \ \ \ | | | | | | | | | | | | | | Collapse PG default extractoin of most types to single regex
| * | | | | | Collapse PG default extractoin of most types to single regexSean Griffin2014-06-042-48/+11
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For any type that is represented as a string and then type cast, we do not need separate regular expressions for the various types. No function will match this regex. User defined types *should* match this, so that the type object can decide what to do with the value.
* | | | | | Merge pull request #15463 from geopet/refactor_xml_compute_typeRafael Mendonça França2014-06-042-6/+7
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Refactor XML serializer to not depend on `serialized_attributes`
| * | | | | Refactor XML serializer to not depend on `serialized_attributes`Geoff Petrie & Sean Griffin2014-06-011-3/+5
| | | | | |
| * | | | | Test the serialized types of virtual columns in XMLGeoff Petrie & Sean Griffin2014-06-012-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous tests were passing, because nothing ever looked at the generated XML. What was previously being generated was `<firstname type="NilClass">...`, which is not consistent with all other cases where there is not a known type.
* | | | | | Merge pull request #15500 from ↵Yves Senn2014-06-041-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | prathamesh-sonpatki/change-wording-of-explanation-about-precision-and-scale-of-decimal-numbers Change wording of explanation about precision & scale of decimal numbers [ci skip]
| * | | | | | Change wording of explanation about precision & scale of decimal numbers [ci ↵Prathamesh Sonpatki2014-06-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | skip]
* | | | | | | Merge pull request #15482 from laurocaetano/fix-regression-for-eager-loadCarlos Antonio da Silva2014-06-044-2/+27
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix regression on eager loading association based on SQL query rather than existing column. Conflicts: activerecord/CHANGELOG.md