aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Cache the association proxy objectRyuta Kamizono2017-05-283-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some third party modules expects that association returns same proxy object each time (e.g. for stubbing collection methods: https://github.com/rspec/rspec-rails/issues/1817). So I decided that cache the proxy object and reset scope in the proxy object each time. Related context: https://github.com/rails/rails/commit/c86a32d7451c5d901620ac58630460915292f88b#commitcomment-2784312
| * | | Fix association with extension issuesRyuta Kamizono2017-05-289-26/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following issues. * `association_scope` doesn't include `default_scope`. Should use `scope` instead. * We can't use `method_missing` for customizing existing method. * We can't use `relation_delegate_class` for sharing extensions. Should extend per association.
* | | | Merge pull request #29273 from ↵Rafael França2017-05-294-15/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | kamipo/deserialize_raw_value_from_database_for_json Deserialize a raw value from the database in `changed_in_place?` for `AbstractJson`
| * | | | Deserialize a raw value from the database in `changed_in_place?` for ↵Ryuta Kamizono2017-05-304-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `AbstractJson` Structured type values sometimes caused representation problems (keys sort order, spaces, etc). A raw value from the database should be deserialized (normalized) to prevent the problems.
* | | | | Fix UUID column with `null: true` and `default: nil`Ryuta Kamizono2017-05-302-1/+11
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | `quote_default_expression` can be passed nil value when `null: true` and `default: nil`. This addressed in that case. Fixes #29222.
* | | | Merge pull request #29248 from yawboakye/rename-should-rename-table-pkeyGuillermo Iguaran2017-05-292-4/+28
|\ \ \ \ | | | | | | | | | | `rename_table` should rename primary key index name
| * | | | `rename_table` renames primary key index nameYaw Boakye2017-05-292-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Formerly, `rename_table` only renamed primary key index name if the column's data type was sequential (serial, etc in PostgreSQL). The problem with that is tables whose primary keys had other data types (e.g. UUID) maintained the old primary key name. So for example, if the `cats` table has a UUID primary key, and the table is renamed to `felines`, the primary key index will still be called `cats_pkey` instead of `felines_pkey`. This PR corrects it.
* | | | | Add option for class_attribute default (#29270)David Heinemeier Hansson2017-05-2916-72/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow a default value to be declared for class_attribute * Convert to using class_attribute default rather than explicit setter * Removed instance_accessor option by mistake * False is a valid default value * Documentation
* | | | | Remove a redundant test assertionKoichi ITO2017-05-291-6/+0
|/ / / /
* | | | Merge pull request #29208 from ↵Guillermo Iguaran2017-05-282-1/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | kamipo/default_env_fall_back_to_default_env_when_rails_env_or_rack_env_is_empty_string `DEFAULT_ENV` falls back to `default_env` when `RAILS_ENV` or `RACK_ENV` is an empty string
| * | | | `DEFAULT_ENV` falls back to `default_env` when `RAILS_ENV` or `RACK_ENV` is ↵Ryuta Kamizono2017-05-252-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | an empty string Follow up of #27399.
* | | | | Deprecate passing arguments and block at the same time to `count` and `sum` ↵Ryuta Kamizono2017-05-293-2/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in `ActiveRecord::Calculations` `select`, `count`, and `sum` in `Relation` are also `Enumerable` method that can be passed block. `select` with block already doesn't take arguments since 4fc3366. This is follow up of that.
* | | | | Merge pull request #29258 from koic/remove_redundant_command_recorder_testMatthew Draper2017-05-291-5/+0
|\ \ \ \ \ | | | | | | | | | | | | Remove a redundant test case of command_recorder_test
| * | | | | Remove a redundant test case of command_recorder_testKoichi ITO2017-05-291-5/+0
| | |/ / / | |/| | |
* | | | | Merge pull request #29074 from ↵Kasper Timm Hansen2017-05-282-9/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | kamipo/remove_returning_true_in_internal_callbacks Remove returning true in internal callbacks
| * | | | | Remove returning true in internal callbacksRyuta Kamizono2017-05-142-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `display_deprecation_warning_for_false_terminator` was removed since 3a25cdc.
* | | | | | Merge pull request #29253 from kamipo/prevent_extra_queryMatthew Draper2017-05-292-6/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | Prevent extra `current_database` query for `encoding`/`collation`/`ctype`
| * | | | | | Prevent extra `current_database` query for `encoding`/`collation`/`ctype`Ryuta Kamizono2017-05-282-6/+12
| | | | | | |
* | | | | | | Merge pull request #28969 from ↵Matthew Draper2017-05-284-14/+16
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/refactor_enum_to_use_value_instead_of_label Refactor enum to use `value` instead of `label` in the scope
| * | | | | | | Refactor enum to use `value` instead of `label` in the scopeRyuta Kamizono2017-05-074-14/+16
| | | | | | | |
* | | | | | | | Merge pull request #29003 from kamipo/delegate_ast_and_locked_to_arel_explicitlyMatthew Draper2017-05-284-1/+13
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Delegate `ast` and `locked` to `arel` explicitly
| * | | | | | | Delegate `ast` and `locked` to `arel` explicitlyRyuta Kamizono2017-05-064-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently `ast` and `locked` are used in the internal but delegating to `arel` is depend on `method_missing`. If a model class is defined these methods, `select_all` will be broken. It should be delegated to `arel` explicitly.
* | | | | | | | Merge pull request #29197 from kamipo/enable_extending_even_if_scope_returns_nilMatthew Draper2017-05-282-7/+7
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Enable extending even if scope returns nil
| * | | | | | | | Enable extending even if scope returns nilRyuta Kamizono2017-05-242-7/+7
| | | | | | | | |
* | | | | | | | | Merge pull request #29250 from kamipo/remove_unused_association_interpolateMatthew Draper2017-05-281-8/+0
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Remove unused `Association#interpolate`
| * | | | | | | | | Remove unused `Association#interpolate`Ryuta Kamizono2017-05-281-8/+0
| | |_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | Using `Association#interpolate` was removed since #11251.
* / | | | | | | | Fix regression in Numericality validator where extra decimal places on Bradley Priest2017-05-271-0/+14
|/ / / / / / / / | | | | | | | | | | | | | | | | a user input for a decimal column were ignored by numerically validations
* | | | | | | | Merge pull request #29240 from tjschuck/ar_batches_doc_updatesRafael França2017-05-261-12/+12
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Doc updates for ActiveRecord::Batches
| * | | | | | | | Doc updates for ActiveRecord::BatchesT.J. Schuck2017-05-261-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | [ci skip]
* | | | | | | | | Merge pull request #29237 from mohitnatoo/arel-update-docRafael França2017-05-261-3/+3
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | [ci skip] Changed sentence formation for ActiveRecordRelation#update
| * | | | | | | | [ci skip] Changed sentence formation for ActiveRecordRelation#updateMohit Natoo2017-05-261-3/+3
| | | | | | | | |
* | | | | | | | | Merge pull request #29239 from koic/remove_redundant_test_assertionMatthew Draper2017-05-271-1/+0
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Remove a redundant test assertion
| * | | | | | | | | Remove a redundant test assertionKoichi ITO2017-05-271-1/+0
| | | | | | | | | |
* | | | | | | | | | Avoid circular require due to autoloadMatthew Draper2017-05-261-9/+9
|/ / / / / / / / /
* | | | | | | | | Merge pull request #29176 from bogdanvlviv/define-path-with__dir__Matthew Draper2017-05-2610-13/+13
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Define path with __dir__
| * | | | | | | | | Define path with __dir__bogdanvlviv2017-05-2310-13/+13
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ".. with __dir__ we can restore order in the Universe." - by @fxn Related to 5b8738c2df003a96f0e490c43559747618d10f5f
* | | | | | | | | Merge pull request #29221 from koic/remove_duplicate_migration_testMatthew Draper2017-05-261-27/+0
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Remove a duplicate test of migration_test in AR
| * | | | | | | | | Remove a duplicate test of migration_test in ARKoichi ITO2017-05-251-27/+0
| | | | | | | | | |
* | | | | | | | | | Merge pull request #29230 from koic/remove_duplicate_schema_authorization_testMatthew Draper2017-05-261-11/+0
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Remove a duplicate test of schema_authorization_test in AR
| * | | | | | | | | | Remove a duplicate test of schema_authorization_test in ARKoichi ITO2017-05-251-11/+0
| | | | | | | | | | |
* | | | | | | | | | | Merge pull request #29215 from voxmedia/ar_optimizationsMatthew Draper2017-05-263-3/+4
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ActiveRecord initialization optimizations
| * | | | | | | | | | | Make #deep_dup use #allocate instead of #newMichael Lovitt2017-05-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change preserves the speedup made in a24912cb1d3 (by avoiding the wasted shallow dup of @attributes) while ensuring that the performance of #deep_dup won't be tied to the performance of #initialize
| * | | | | | | | | | | Performance optimization for ActiveRecord#column_defaultsMichael Lovitt2017-05-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Memoize the #column_defaults class property, as ActiveRecord does for other properties in this module. This change addresses slowness in ActiveRecord initialization introduced starting in Rails 5.0. This method's performance has not changed with Rails 5, but it is now called much more frequently than before: every time an STI model is instantiated.
| * | | | | | | | | | | Performance optimization for ActiveRecord#subclass_from_attributesMichael Lovitt2017-05-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change addresses slowness in ActiveRecord initialization introduced starting in Rails 5.0.
| * | | | | | | | | | | Performance optimization for AttributeSet#deep_dupMichael Lovitt2017-05-241-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skip the call to #dup, since it does a shallow copy of attributes, which is wasted effort, since #deep_dup then replaces that shallow copy with a #deep_dup of the given attributes. This change addresses slowness in ActiveRecord initialization introduced starting in Rails 5.0.
* | | | | | | | | | | | Merge pull request #29226 from koic/remove_duplicate_mysql_rake_testMatthew Draper2017-05-261-7/+0
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Remove a duplicate test of mysql_rake_test
| * | | | | | | | | | | | Remove a duplicate test of mysql_rake_testKoichi ITO2017-05-261-7/+0
| | |/ / / / / / / / / / | |/| | | | | | | | | |
* | | | | | | | | | | | Merge pull request #29216 from matthewd/threadsafe-load-schemaMatthew Draper2017-05-263-3/+56
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | | Add a Monitor to ModelSchema#load_schema
| * | | | | | | | | | | Add a Monitor to ModelSchema#load_schemaMatthew Draper2017-05-253-3/+56
| |/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Vikrant Chaudhary, David Abdemoulaie, Matthew Draper]
* | | | | | | | | | | Merge pull request #29175 from kamipo/extract_json_shared_testsMatthew Draper2017-05-253-351/+184
|\ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / |/| | | | | | | | | | Extract `JSONSharedTestCases`