aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Refactor determination of whether the field has changedSean Griffin2014-06-036-36/+39
| | | | | The types know more about what is going on than the dirty module. Let's ask them!
* pg, preserve point type when schema dumping.Yves Senn2014-06-033-2/+11
|
* fix polymorphic? method and reuse iteileencodes2014-06-024-11/+11
| | | | | | Fix polymorphic to check for `options[:polymorphic]` instead of `options.key? :polymorphic` and then reuse the method `polymorphic?` method instead of constantly checking the same `options[:polymorphic]`.
* Merge pull request #15475 from sgrif/sg-initialize-attributesGuillermo Iguaran2014-06-023-11/+3
|\ | | | | Remove unused `initialize_attributes` method
| * Remove unused `initialize_attributes` methodSean Griffin2014-06-023-11/+3
| | | | | | | | | | This was previously a hook for a special case related to `serialize`, which has since been removed.
* | Add missing colon to internalSean Griffin2014-06-021-1/+1
|/
* docs, fix typo [ci skip]Yves Senn2014-06-021-2/+2
|
* pg, inline casting methods into `OID::Type` objects.Yves Senn2014-06-024-44/+25
| | | | | | | | This inlines casting for the most obvious types. The rest will follow eventually. I need to put some tests in place, to make sure that the inlining is not causing regressions. /cc @sgrif
* New records should remain new after yaml serializationSean Griffin2014-06-012-2/+7
|
* Remove most code related to serialized propertiesSean Griffin2014-06-019-98/+21
| | | | | | | | | | | Nearly completely implemented in terms of custom properties. `_before_type_cast` now stores the raw serialized string consistently, which removes the need to keep track of "state". The following is now consistently true: - `model.serialized == model.reload.serialized` - A model can be dumped and loaded infinitely without changing - A model can be saved and reloaded infinitely without changing
* Merge pull request #15432 from sgrif/sg-coder-type-castingYves Senn2014-06-012-2/+2
|\ | | | | Don't change values in `@raw_attributes` during serialization
| * Don't change values in `@raw_attributes` during serializationSean Griffin2014-06-012-2/+2
| | | | | | | | | | | | During `init_with`, the attributes given to the coder will be placed into `@raw_attributes`. As such, we should read from `@raw_attributes` when encoding, rather than `@attributes`, which has been type cast.
* | Merge branch 'master' of github.com:rails/docrailsVijay Dev2014-06-011-2/+2
|\ \ | |/ |/|
| * [ci skip] add created_at and updated_at to exampleschneems2014-05-291-2/+2
| |
* | Clear all caches calculated based on `@columns` when `@columns` changesSean Griffin2014-05-311-3/+7
| |
* | Merge pull request #15427 from sgrif/sg-rename-attribute-ivarsRafael Mendonça França2014-05-3012-43/+43
|\ \ | | | | | | Rename attribute related instance variables to better express intent
| * | Rename attribute related instance variables to better express intentSean Griffin2014-05-3012-43/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | `@attributes` was actually used for `_before_type_cast` and friends, while `@attributes_cache` is the type cast version (and caching is the wrong word there, but I'm working on removing the conditionals around that). I opted for `@raw_attributes`, because `_before_type_cast` is also semantically misleading. The values in said hash are in the state given by the form builder or database, so raw seemed to be a good word.
* | | Allow specifying a default value in overloaded propertiesSean Griffin2014-05-301-2/+13
|/ /
* | refactor, introduce `Type#type_cast_for_schema` to cast for schema.rbYves Senn2014-05-308-26/+33
| | | | | | | | | | | | | | This removes the case statement in `SchemaDumper` and gives every `Type` the possibility to control the SchemaDumper default value output. /cc @sgrif
* | pg, support default values for enum types. Closes #7814.Yves Senn2014-05-302-2/+9
| | | | | | | | | | This is an intermediate solution. It is related to the refactoring @sgrif is making and will change in the future.
* | pg, `default_sequence_name` respects schema. Closes #7516.Yves Senn2014-05-301-2/+2
| |
* | Merge pull request #11896 from nkondratyev/fix_pg_columns_for_distinctYves Senn2014-05-301-1/+1
|\ \ | | | | | | | | | | | | | | | | | | Fixed #columns_for_distinct of postgresql adapter Conflicts: activerecord/CHANGELOG.md
| * | Fixed `columns_for_distinct` of postgresql adapterNikolay Kondratyev2013-08-151-1/+1
| | |
* | | pg, `reset_pk_sequence!` respects schemas. Closes #14719.Yves Senn2014-05-301-5/+13
| | |
* | | pg, `PostgreSQL::Name` to hold schema qualified names.Yves Senn2014-05-303-17/+53
| | |
* | | Don't reference comments that do not existSean Griffin2014-05-291-2/+0
| | |
* | | Move `type_cast_for_write` behavior over to the serialized type objectSean Griffin2014-05-295-57/+47
| | |
* | | Refactor serialized types to be partially defined as custom propertiesSean Griffin2014-05-298-38/+50
| | | | | | | | | | | | | | | | | | | | | Many of the methods defined in `AttributeMethods::Serialization` can be refactored onto this type as well, but this is a reasonable small step. Removes the `Type` class, and the need for `decorate_columns` to handle serialized types.
* | | Result sets never override a model's column typeSean Griffin2014-05-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MySQL and PostgreSQL provide a column type override in order to properly type cast computed columns included in a result set. This should never override the known types of full fledged columns. In addition to messing up computed properties, this would have led to inconsistent behavior between a record created with `new`, and a record created with `last` on the mysql adapter in the following cases: - `tinyint(1)` with `emulate_booleans` set to `false` - `text`, `string`, `binary`, and `decimal` columns
* | | Ensure we always use instances of the adapter specific column classSean Griffin2014-05-285-6/+15
| | | | | | | | | | | | | | | | | | - Create a consistent API across adapters for building new columns - Use it for custom properties so we don't get `UndefinedMethodError`s in stuff I'm implementing elsewhere.
* | | Merge pull request #15392 from arthurnn/move_open_transactionsRafael Mendonça França2014-05-282-4/+4
|\ \ \ | | | | | | | | Keep closer to other methods that touch @transaction
| * | | Keep closer to other methods that touch @transactionArthur Neves2014-05-282-4/+4
| | | |
* | | | Maintain column order when overriding existing columnsSean Griffin2014-05-281-3/+8
|/ / / | | | | | | | | | | | | | | | Working towards re-implementing serialized attributes to use the properties API exposed the need for this, as serializing a column shouldn't change the order of the columns.
* | | Merge pull request #15389 from sgrif/sg-property-inheritanceRafael Mendonça França2014-05-281-5/+7
|\ \ \ | | | | | | | | Ensure custom properties work correctly with inheritance
| * | | Ensure custom properties work correctly with inheritanceSean Griffin2014-05-281-5/+7
| | | |
* | | | Merge pull request #15370 from sgrif/sg-type-namespaceRafael Mendonça França2014-05-2838-500/+461
|\ \ \ \ | | | | | | | | | | Move types to the top level `ActiveRecord` namespace
| * | | | Move types to the top level `ActiveRecord` namespaceSean Griffin2014-05-2738-500/+461
| | | | | | | | | | | | | | | | | | | | | | | | | `ActiveRecord::ConnectionAdapters::Type::Value` => `ActiveRecord::Type::Value`
* | | | | Formatting of content from b1db615 [ci skip]Zachary Scott2014-05-281-3/+7
| | | | |
* | | | | Merge pull request #15380 from Gaurav2728/gaurav-transaction_isolation_errorZachary Scott2014-05-281-0/+3
|\ \ \ \ \ | |_|/ / / |/| | | | Initial doc for TransactionIsolationError [ci skip]
| * | | | Initial doc for TransactionIsolationError [ci skip]Gaurav Sharma2014-05-281-0/+3
| | | | |
* | | | | Merge pull request #15387 from sgrif/sg-remove-column-coderSantiago Pastorino2014-05-281-14/+1
|\ \ \ \ \ | |/ / / / |/| | | | Remove unused `Column#coder`
| * | | | Remove unused `Column#coder`Sean Griffin2014-05-281-14/+1
| |/ / / | | | | | | | | | | | | | | | | It appears this property was added, but never actually used. It would be broken if it were, as it only type casts one way.
* / / / pg, keep `hstore` and `json` attributes as `Hash` in @attributes.Yves Senn2014-05-282-2/+14
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The solution presented in this patch is not efficient. We should replace it in the near future. The following needs to be worked out: * Is `@attributes` storing the Ruby or SQL representation? * `cacheable_column?` is broken but `hstore` and `json` rely on that behavior Refs #15369. /cc @sgrif @rafaelfranca
* | | Merge pull request #15374 from sgrif/sg-private-propertiesRafael Mendonça França2014-05-2711-24/+12
|\ \ \ | | | | | | | | Remove AR Properties from the public API
| * | | Remove AR Properties from the public APISean Griffin2014-05-2711-24/+12
| | | | | | | | | | | | | | | | | | | | Making this part of the public API was premature, let's make it private again while I continue to work on the surrounding code.
* | | | Merge pull request #15269 from arunagw/aa-fixes-8930Rafael Mendonça França2014-05-271-1/+1
|\ \ \ \ | | | | | | | | | | rake railties:install:migrations respects the order of railties
| * | | | rake railties:install:migrations respects the order of railtiesArun Agrawal2014-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | This PR fixes #8930 and some stuff from #8985
* | | | | Merge pull request #14834 from al2o3cr/issue14155Aaron Patterson2014-05-272-2/+21
|\ \ \ \ \ | |_|/ / / |/| | | | Correctly alias table names when joining more than once
| * | | | WIP: pass existing joins to construct_join_dependencyMatt Jones2014-05-162-2/+21
| | | | |
* | | | | Merge pull request #15295 from sgrif/sg-deprecate-decimalsRafael Mendonça França2014-05-273-1/+16
|\ \ \ \ \ | | | | | | | | | | | | Deprecate decimal columns being automatically treated as integers