| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
Doc updates for ActiveRecord::Batches
|
| |
| |
| | |
[ci skip]
|
|\ \
| |/
|/| |
[ci skip] Changed sentence formation for ActiveRecordRelation#update
|
| | |
|
|\ \
| | |
| | | |
Remove a redundant test assertion
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
Define path with __dir__
|
| | |
| | |
| | |
| | |
| | |
| | | |
".. with __dir__ we can restore order in the Universe." - by @fxn
Related to 5b8738c2df003a96f0e490c43559747618d10f5f
|
|\ \ \
| | | |
| | | | |
Remove a duplicate test of migration_test in AR
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Remove a duplicate test of schema_authorization_test in AR
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
ActiveRecord initialization optimizations
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This change addresses slowness in ActiveRecord initialization
introduced starting in Rails 5.0.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Remove a duplicate test of mysql_rake_test
|
| | |/ / / /
| |/| | | | |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Add a Monitor to ModelSchema#load_schema
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
[Vikrant Chaudhary, David Abdemoulaie, Matthew Draper]
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Extract `JSONSharedTestCases`
|
| | |/ /
| |/| |
| | | |
| | | |
| | | | |
Both `mysql2/json_test.rb` and `postgresql/json_test.rb` have same test
cases.
|
|\ \ \ \
| |_|/ /
|/| | | |
Fix crashing on circular left join references with scoping
|
| | | |
| | | |
| | | |
| | | | |
Follow up of #25702.
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Make helper methods in tests to private
|
| | | |
| | | |
| | | |
| | | |
| | | | |
`make_model` and `make_no_pk_hm_t` in `HasManyThroughAssociationsTest`
are not a test case. it should be private.
|
|\ \ \ \
| | | | |
| | | | | |
Both reference id and type should be `NOT NULL` if `null: false` is specified
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a regression due to #28282.
Fixes #29136.
|
|\ \ \ \
| | | | |
| | | | | |
Adding Foreing Key - Don't worry about building the identifier if name is already present.
|
| | |_|/
| |/| |
| | | |
| | | | |
present.
|
|\ \ \ \
| | | | |
| | | | | |
Remove a duplicate test of inverse_associations_test in AR
|
| | |_|/
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
Remove unused `JoinPart#name`
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
Remove unused `left_joins_values` generation
|
| |/ / /
| | | |
| | | |
| | | | |
This was added at #22125 but `left_joins_values` is never used.
|
|\ \ \ \
| | | | |
| | | | | |
Refactor making join constraints
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
The only difference between `make_inner_joins` and
`make_left_outer_joins` is the `join_type`.
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Make `VALID_DIRECTIONS` to `Set`
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
```ruby
require "benchmark/ips"
require "set"
array = [:asc, :desc, :ASC, :DESC, "asc", "desc", "ASC", "DESC"]
set = array.to_set
item = "DESC"
Benchmark.ips do |x|
x.report "array" do
array.include?(item)
end
x.report "set" do
set.include?(item)
end
end
```
```
% ruby array_vs_set.rb
Warming up --------------------------------------
array 188.441k i/100ms
set 229.531k i/100ms
Calculating -------------------------------------
array 3.508M (± 9.0%) i/s - 17.525M in 5.043058s
set 5.134M (± 7.6%) i/s - 25.707M in 5.038921s
```
|
|/ / / |
|
| |/
|/|
| |
| |
| |
| | |
This retains the existing behavior of
ActiveSupport::Cache.expand_cache_key (as used by etaging) where the
cache key includes the version.
|
| |
| |
| |
| |
| | |
* Fix indentation.
* Add backticks.
|