| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we had primarily tested the behavior of these attributes by
calling `.new`, allowing this to slip through the cracks. There were a
few ways in which they were behaving incorrectly.
The biggest issue was that attempting to read the attribute would
through a `MissingAttribute` error. We've corrected this by returning
the default value when the attribute isn't backed by a database column.
This is super special cased, but I don't see a way to avoid this
conditional. I had considered handling this higher up in
`define_default_attribute`, but we don't have the relevant information
there as users can provide new defaults for database columns as well.
Once I corrected this, I had noticed that the attributes were always
being marked as changed. This is because the behavior of
`define_default_attribute` was treating them as assigned from
`Attribute::Null`.
Finally, with our new implementation, `LazyAttributeHash` could no
longer be marshalled, as it holds onto a proc. This has been corrected
as well. I've not handled YAML in that class, as we do additional work
higher up to avoid YAML dumping it at all.
Fixes #25787
Close #25841
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
It all started noticing some foo.method({ ... }) method calls
in passing. This is a whole pass modernizing this file.
While some string literals are edited where I touched code,
this pass does not uniformizes quotes. A ton are left untouched
on purposes. We have no defined style.
|
|
|
|
|
| |
Where appropriatei, prefer the more concise Regexp#match?,
String#include?, String#start_with?, or String#end_with?
|
| |
|
|\
| |
| | |
Fix explain logging with binds
|
| |
| |
| |
| | |
`binds` is an array of a query attribute since Active Record 5.0.
|
|\ \
| | |
| | |
| | |
| | | |
kamipo/add_exists_and_update_all_to_collection_proxy
Add `exists?` and `update_all` to `CollectionProxy` for respects an association scope
|
| |/
| |
| |
| |
| |
| | |
association scope
Fixes #25732.
|
|\ \
| |/
|/|
| |
| | |
yahonda/remove_set_date_columns_and_modify_attributes_test
Remove Oracle specific tests based on deprecated behaviors
|
| |
| |
| |
| |
| |
| | |
- Refer https://github.com/rsim/oracle-enhanced/pull/845
Remove `set_date_columns` which has been deprecated in Oracle enhanced adapter
- Refer https://github.com/rsim/oracle-enhanced/pull/869
|
|\ \
| | |
| | |
| | |
| | | |
kamipo/move_warning_about_composite_primary_key_to_attribute_methods_primary_key
Move the warning about composite primary key to `AttributeMethods::PrimaryKey`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Actually schema dumper/creation supports composite primary key (#21614).
Therefore it should not show the warning about composite primary key in
connection adapter.
This change moves the warning to `AttributeMethods::PrimaryKey` and
suppress the warning for habtm join table.
Fixes #25388.
|
|\ \ \
| | | |
| | | | |
Do not `binds.dup` in `connection#to_sql`
|
| | |/
| |/|
| | |
| | | |
Because `connection#to_sql` does not mutate `binds`.
|
|\ \ \
| | | |
| | | | |
Use `connection#to_sql` for construct an SQL
|
| |/ / |
|
|\ \ \
| | | |
| | | |
| | | | |
Fix the calling `merge` method at first in a scope
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Changing the order of method chaining `merge` and other query
method such as `joins` should produce the same result.
```ruby
class Topic < ApplicationRecord
scope :safe_chaininig, -> { joins(:comments).merge(Comment.newest) }
scope :unsafe_chaininig, -> { merge(Comment.newest).joins(:comments) } #=> NoMethodError
end
```
|
|\ \ \ \
| | | | |
| | | | | |
Refactored method `ActiveRecord::ConnectionAdapters::PostgreSQL::SchemaStatements#default_sequence_name`. Refactored test `HasManyAssociationsTest#test_do_not_call_callbacks_for_delete_all`.
|
| | | | |
| | | | |
| | | | |
| | | | | |
`HasManyAssociationsTest#test_do_not_call_callbacks_for_delete_all`
|
| | | | |
| | | | |
| | | | |
| | | | | |
`ActiveRecord::ConnectionAdapters::PostgreSQL::SchemaStatements#default_sequence_name`
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
alpaca-tc/fixes_multiparameter_attributes_on_time_with_time_zone_aware_attributes
Fix bug in method AR TimeZoneConverter#set_time_zone_without_conversion
|
| | |_|/ /
| |/| | |
| | | | |
| | | | | |
and invalid params
|
|\ \ \ \ \
| | | | | |
| | | | | | |
`specificiation_id` was renamed to `spec_name`
|
| | |/ / /
| |/| | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Fix `payload[:class_name]` to `payload[:spec_name]`
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Follow up to #20818.
`retrieve_connection` is passed `spec_name` instead of `klass` since #24844.
|
| |_|/ /
|/| | |
| | | |
| | | | |
Address to https://github.com/rails/rails/commit/5a302bf553af0e6fedfc63299fc5cd6e79599ef3#commitcomment-18288388.
|
| | | |
| | | |
| | | |
| | | | |
Fixes #22398.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Albeit the previous existence of this method is not seen in
the patch itself, the declaration
mattr_accessor :error_on_ignored_order_or_limit, instance_writer: false
was present before. It was removed recently in 210012f.
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
Followup of changes done to `error_on_ignored_order`
|
| |/ /
| | |
| | |
| | |
| | | |
- It adds lot of warnings while running the tests. After https://github.com/rails/rails/commit/451437c6f57e66cc7586ec966e530493927098c7 it is not needed.
- Added reader method with deprecation warning for backward compatibility.
|
|/ / |
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
jeremywadsack/use_transactional_fixtures_all_databases
Use notification to ensure that lazy-loaded model classes have transactions
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
loaded model classes have their connections wrapped in transactions.
See #17776
In Rails 4 config.eager_load was changed to false in the test environment. This
means that model classes that connect to alternate databases with
establish_connection are not loaded at start up. If use_transactional_fixtures
is enabled, transactions are wrapped around the connections that have been
established only at the start of the test suite. So model classes loaded later
don't have transactions causing data created in the alternate database not to
be removed.
This change resolves that by creating a new connection.active_record
notification that gets fired whenever a connection is established. I then added
a subscriber after we set up transactions in the test environment to listen for
additional connections and wrap those in transactions as well.
|
| | |
| | |
| | |
| | | |
- Also minor weekly CHANGELOG cleanup.
|
|\ \ \
| | | |
| | | | |
Add newline between each migration in `structure.sql`
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Keeps schema migration inserts as a single commit, so we still get all of the
benefits of https://github.com/rails/rails/commit/42dd2336b31a8d98776d039a2b9fd7f834156a78,
but allows for easier git diff-ing. Fixes #25504.
|
| | | |
| | | |
| | | |
| | | | |
- Followup of https://github.com/rails/rails/pull/23179
|
|/ / / |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
We are setting a limit unconditionally just below,
which overrides any existing one anyway.
|
|/ / |
|
|\ \
| | |
| | | |
rails -> Rails [ci skip]
|