aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Respect limit for PG bit stringsSean Griffin2014-06-032-24/+24
| | |
* | | Merge pull request #15442 from sgrif/sg-refactor-field-changedYves Senn2014-06-031-1/+1
|\ \ \ | |/ / |/| | Refactor determination of whether the field has changed
| * | Refactor determination of whether the field has changedSean Griffin2014-06-031-1/+1
| |/ | | | | | | | | The types know more about what is going on than the dirty module. Let's ask them!
* / pg, preserve type when schema dumping bit and bit varying columns.Yves Senn2014-06-035-3/+31
|/
* pg, preserve point type when schema dumping.Yves Senn2014-06-033-2/+11
|
* 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
* Remove most code related to serialized propertiesSean Griffin2014-06-011-2/+2
| | | | | | | | | | | 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
* refactor, introduce `Type#type_cast_for_schema` to cast for schema.rbYves Senn2014-05-304-26/+17
| | | | | | | 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
| |
* | Move `type_cast_for_write` behavior over to the serialized type objectSean Griffin2014-05-291-1/+1
| |
* | Refactor serialized types to be partially defined as custom propertiesSean Griffin2014-05-292-6/+4
| | | | | | | | | | | | | | 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.
* | Ensure we always use instances of the adapter specific column classSean Griffin2014-05-284-5/+14
| | | | | | | | | | | | - 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.
* | Keep closer to other methods that touch @transactionArthur Neves2014-05-282-4/+4
| |
* | Merge pull request #15370 from sgrif/sg-type-namespaceRafael Mendonça França2014-05-2819-498/+2
|\ \ | | | | | | Move types to the top level `ActiveRecord` namespace
| * | Move types to the top level `ActiveRecord` namespaceSean Griffin2014-05-2719-498/+2
| | | | | | | | | | | | | | | `ActiveRecord::ConnectionAdapters::Type::Value` => `ActiveRecord::Type::Value`
* | | 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
* | Remove AR Properties from the public APISean Griffin2014-05-2710-10/+10
| | | | | | | | | | 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 #15295 from sgrif/sg-deprecate-decimalsRafael Mendonça França2014-05-272-0/+3
|\ \ | | | | | | Deprecate decimal columns being automatically treated as integers
| * | Deprecate decimal columns being automatically treated as integersSean Griffin2014-05-272-0/+3
| | | | | | | | | | | | | | | | | | With ActiveRecord::Properties, we now have a reasonable path for users to continue to keep this behavior if they want it. This is an edge case that has added a lot of complexity to the code base.
* | | Merge pull request #15359 from kuldeepaggarwal/f-remove-unwanted_to_symYves Senn2014-05-271-1/+1
|\ \ \ | | | | | | | | remove unwanted `to_sym` call.
| * | | remove unwanted `to_sym` call.Kuldeep Aggarwal2014-05-261-1/+1
| | | |
* | | | Merge pull request #15353 from sgrif/sg-mysql-conditionRafael Mendonça França2014-05-261-2/+0
|\ \ \ \ | |_|/ / |/| | | Remove unnecessary branch from quoting in Mysql
| * | | Remove unnecessary branch from quoting in MysqlSean Griffin2014-05-261-2/+0
| | | | | | | | | | | | | | | | This is already the behavior for `BigDecimal` in the abstract adapter.
* | | | Add a public API to allow users to specify column typesSean Griffin2014-05-2611-12/+21
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a result of all of the refactoring that's been done, it's now possible for us to define a public API to allow users to specify behavior. This is an initial implementation so that I can work off of it in smaller pieces for additional features/refactorings. The current behavior will continue to stay the same, though I'd like to refactor towards the automatic schema detection being built off of this API, and add the ability to opt out of automatic schema detection. Use cases: - We can deprecate a lot of the edge cases around types, now that there is an alternate path for users who wish to maintain the same behavior. - I intend to refactor serialized columns to be built on top of this API. - Gem and library maintainers are able to interact with `ActiveRecord` at a slightly lower level in a more stable way. - Interesting ability to reverse the work flow of adding to the schema. Model can become the single source of truth for the structure. We can compare that to what the database says the schema is, diff them, and generate a migration.
* | | Extract types which don't require additional typecasting to a methodSean Griffin2014-05-261-4/+9
| | | | | | | | | | | | | | | Database specific adapters shouldn't need to override `type_cast` to define types which are already in an acceptable state.
* | | Refactor the type casting of booleans in MySQLSean Griffin2014-05-262-13/+18
| | |
* | | Remove checks against `column.type` in abstract adapter quotingSean Griffin2014-05-263-34/+21
| | | | | | | | | | | | | | | | | | The intention is to eventually remove `column` from the arguments list both for `quote` and for `type_cast` entirely. This is the first step to that end.
* | | Merge pull request #15307 from sgrif/sg-type-cast-for-writeYves Senn2014-05-263-1/+15
|\ \ \ | | | | | | | | Add an interface for type objects to control Ruby => SQL
| * | | Add an interface for type objects to control Ruby => SQLSean Griffin2014-05-263-1/+15
| | | | | | | | | | | | | | | | | | | | Adds the ability to save custom types, which type cast to non-primitive ruby objects.
* | | | pg, add missing `:nodoc:` to adapter.Yves Senn2014-05-261-8/+8
| | | |
* | | | pg, remove unused code. Use `extract_schema_and_table` instead.Yves Senn2014-05-261-10/+0
| |/ / |/| |
* | | pg, remove duplicated code.Yves Senn2014-05-241-4/+0
| | |
* | | pg, extract schema definitions into separate file.Yves Senn2014-05-242-135/+141
|/ / | | | | | | | | | | | | This mirrors the layout of abstract adapter and puts the definitions inside the `PostgreSQL` namespace (no longer under the adapter namespace). /cc @kares
* | Remove special case in schema dumper for decimal without scaleSean Griffin2014-05-235-35/+32
| |
* | Merge pull request #15277 from sgrif/sg-schema-cache-refactorRafael Mendonça França2014-05-231-31/+11
|\ \ | | | | | | Simplify the code in schema cache
| * | Simplify the code in schema cacheSean Griffin2014-05-231-31/+11
| | | | | | | | | | | | | | | The use of default procs was unnessecary, made the code confusing to follow, and made marshalling needlessly complex.
* | | Merge pull request #15282 from sgrif/sg-remove-column-primaryRafael Mendonça França2014-05-231-2/+1
|\ \ \ | | | | | | | | Remove `Column#primary`
| * | | Remove `Column#primary`Sean Griffin2014-05-231-2/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | It appears to have been used at some point in the past, but is no longer used in any meaningful way. Whether a column is considered primary is a property of the model, not the schema/column. This also removes the need for yet another layer of caching of the model's schema, and we can leave that to the schema cache.
* | | Merge pull request #15280 from sgrif/sg-postgres-defaultsRafael Mendonça França2014-05-233-76/+78
|\ \ \ | | | | | | | | Move parsing of PG sql strings for defaults out of column
| * | | Move parsing of PG sql strings for defaults out of columnSean Griffin2014-05-233-76/+78
| |/ /
* / / Inline type cast method for PG pointsSean Griffin2014-05-232-8/+4
|/ /
* | Push limit to type objectsSean Griffin2014-05-226-70/+64
| | | | | | | | | | Columns and injected types no longer have any conditionals based on the format of SQL type strings! Hooray!
* | Push precision to type objectsSean Griffin2014-05-226-22/+27
| |