| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
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.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Remove unneeded `association.respond_to?(:reset_scope)`
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Since 86390c3 all associations have `reset_scope` so `respond_to?` is
unneeded.
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
Addresses #29021
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The object inside the scope is of the class that define the association
not the associated class.
[ci skip]
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Use NOT IN in SQL query
* Quote table names propertly
* Use array form of command invocation
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | | |
When using `sql` as the schema format, or even just doing `rake
db:structure:dump`, it would be good to respect the list of ignored
tables that has been configured.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
meinac/fix_ambigious_exception_message_of_select_query_method
Fix ambigious error message of select query method [ci skip]
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Don't eager loading if unneeded for `FinderMethods#exists?`
|
| | |/ / /
| |/| | |
| | | | |
| | | | | |
Fixes #29025.
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Because we don't need to load tasks for DBs that we don't use for the current app.
Also, these Tasks classes load AR::Base in their class level, and so immediately kick :active_record on_load hooks.
This used to happen when we were loading tasks, not when we run a task.
|
| |_|/
|/| | |
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
```
% ARCONN=sqlite3 be ruby -w -Itest test/cases/quoting_test.rb
test/cases/quoting_test.rb:92: warning: ambiguous first argument; put parentheses or a space even after `/' operator
test/cases/quoting_test.rb:96: warning: ambiguous first argument; put parentheses or a space even after `/' operator
Using sqlite3
Run options: --seed 9495
.....................................
Finished in 0.046403s, 797.3622 runs/s, 1120.6172 assertions/s.
37 runs, 52 assertions, 0 failures, 0 errors, 0 skips
```
|
|\ \
| | |
| | | |
Clarify deprecation message for #quoted_id
|
| | |
| | |
| | |
| | |
| | | |
In this case, it's the method definition that's more at fault, rather
than the current caller.
|
| | |
| | |
| | |
| | | |
`DelegationTest#call_method` is no longer used since 9d79334a.
|
| | |
| | |
| | |
| | |
| | |
| | | |
The argument of `Arel::SelectManager.new` is `table`, not `engine`.
https://github.com/rails/arel/blob/v8.0.0/lib/arel/select_manager.rb#L10
|
|/ /
| |
| |
| | |
Since through association is always loaded by `preloader.preload`.
|
| |
| |
| |
| | |
Since legacy `Relation#bind_values` was removed in b06f64c.
|
|\ \
| | |
| | | |
Extract `bind_param` and `bind_attribute` into `ActiveRecord::TestCase`
|
| | |
| | |
| | |
| | | |
These are used in tests from anywhere.
|
|/ /
| |
| |
| |
| |
| | |
The same test exists in `test/cases/relation/merging_test.rb`.
https://github.com/rails/rails/blob/v5.1.0/activerecord/test/cases/relation/merging_test.rb#L94-L101
|
| |
| |
| |
| |
| | |
Since we have been using this `Arel::Table` since 111ccc832bc977b15af12c14e7ca078dad2d4373,
in order to properly handle queries, it's important that we properly type cast arguments.
|
|\ \
| | |
| | | |
Deprecate `supports_statement_cache?`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`supports_statement_cache?` was introduced in 3.1.0.beta1 (104d0b2) for
bind parameter substitution, but it is no longer used in 3.1.0.rc1
(73ff679). Originally it should respect `prepared_statements` rather
than `supports_statement_cache?` (fd39847).
One more thing, named `supports_statement_cache?` is pretty misreading.
We have `StatementCache` and `StatementPool`. However,
`supports_statement_cache?` doesn't mean `StatementCache`, but
`StatementPool` unlike its name.
https://github.com/rails/rails/blob/v5.1.0/activerecord/lib/active_record/statement_cache.rb
https://github.com/rails/rails/blob/v5.1.0/activerecord/lib/active_record/connection_adapters/statement_pool.rb
|
|\ \ \
| |/ /
|/| | |
Use `flat_map` rather than `map(&:...).flatten`
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
* Remove trailing spaces.
* Add backticks around method and command.
* Fix indentation.
|
| |
| |
| |
| |
| |
| | |
Just use one `Event` class. Reduces duplication, makes the tests easier
to read. It might seem like each tests needs a different kind of Struct,
since we make a new one for each test case.
|
| |
| |
| |
| | |
Fix #28905
|
|/ |
|
|
|
|
|
| |
This change reverted in eac6f369 but it is needed for data integrity.
See #25328.
|
|\
| |
| | |
PostgreSQL 10 does not convert `CURRENT_DATE` into `('now'::text)::date`
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Address #28797
In the previous versions of PostgreSQL, `CURRENT_DATE` converted to `('now'::text)::date`
and `CURRENT_TIMESTAMP` converted to `now()`.
Refer these discussions and commit at PostgreSQL :
https://www.postgresql.org/message-id/flat/5878.1463098164%40sss.pgh.pa.us#5878.1463098164@sss.pgh.pa.us
https://github.com/postgres/postgres/commit/0bb51aa96783e8a6c473c2b5e3725e23e95db834
|
|\ \
| | |
| | | |
Set consistent typecast ENV["VERBOSE"]
|