- 06 7月, 2020 5 次提交
-
-
由 Ryuta Kamizono 提交于
Resolve attribute alias for counter cache column
-
由 Ryuta Kamizono 提交于
The lack of ability for making this has resolved by #39496 and #39530.
-
由 Ryuta Kamizono 提交于
Support `where` with comparison operators (`>`, `>=`, `<`, and `<=`)
-
由 Ryuta Kamizono 提交于
`PredicateBuilder.references` and `PredicateBuilder#build_from_hash` does similar processing and both requires stringify keys for passed hash argument. This consolidates stringify keys to avoid extra string allocation in `PredicateBuilder`.
-
由 Ryuta Kamizono 提交于
```ruby posts = Post.order(:id) posts.where("id >": 9).pluck(:id) # => [10, 11] posts.where("id >=": 9).pluck(:id) # => [9, 10, 11] posts.where("id <": 3).pluck(:id) # => [1, 2] posts.where("id <=": 3).pluck(:id) # => [1, 2, 3] ``` From type casting and table/column name resolution's point of view, `where("create_at >=": time)` is better alternative than `where("create_at >= ?", time)`. ```ruby class Post < ActiveRecord::Base attribute :created_at, :datetime, precision: 3 end time = Time.now.utc # => 2020-06-24 10:11:12.123456 UTC Post.create!(created_at: time) # => #<Post id: 1, created_at: "2020-06-24 10:11:12.123000"> # SELECT `posts`.* FROM `posts` WHERE (created_at >= '2020-06-24 10:11:12.123456') Post.where("created_at >= ?", time) # => [] # SELECT `posts`.* FROM `posts` WHERE `posts`.`created_at` >= '2020-06-24 10:11:12.123000' Post.where("created_at >=": time) # => [#<Post id: 1, created_at: "2020-06-24 10:11:12.123000">] ```
-
- 05 7月, 2020 3 次提交
-
-
由 Eugene Kenny 提交于
This has had no effect since 771a802c.
-
由 Evgeniy Rashchepkin 提交于
Error entries appear in the log when we request ActiveStorage controllers (`ActiveStorage::Representations::ProxyController#show`, `ActiveStorage::Blobs::ProxyController#show`). These entries look like: "Couldn't find template for digesting: active_storage/representations/proxy/show". These controllers use the method `ActionController::ConditionalGet#http_cache_forever`, and therefore `ActionController::ConditionalGet#combine_etags` method, and therefore `ActionController::EtagWithTemplateDigest` module via `etaggers` array. `ActionController::EtagWithTemplateDigest` module requires a template (view). We have no views in ActiveStorage, so `EtagWithTemplateDigest` is now turned off in ActiveStorage controllers by `etag_with_template_digest` class attribute.
-
由 Santiago Bartesaghi 提交于
-
- 03 7月, 2020 4 次提交
-
-
由 Eugene Kenny 提交于
Records loaded from join queries are no longer automatically marked as read-only since aff928ba.
-
由 Ryuta Kamizono 提交于
-
由 Eugene Kenny 提交于
Followup to 978421abd83d45b72e299f50a4fb324fcbdb3e00.
-
由 Eugene Kenny 提交于
This reverts commit 05060ddb. Tags are per-fiber, so they can't be cached in an instance variable.
-
- 02 7月, 2020 3 次提交
-
-
由 Vipul A M 提交于
Use segment instead of fragment in docs [ci-skip]
-
由 Michael Hagar 提交于
-
由 Eugene Kenny 提交于
Refactor MemoryStore to use Hash ordering rather than key access times
-
- 01 7月, 2020 6 次提交
-
-
由 Ryuta Kamizono 提交于
Backward compatibility to work `Marshal.load(legacy_record.dump)` for MySQL
-
由 Jean Boussier 提交于
This is mainly to simplify the code and use less memory, as large hash can use quite a lot: ```ruby >> ObjectSpace.memsize_of(1000.times.map { |i| [i, i]}.to_h) => 28768 >> ObjectSpace.memsize_of(10_000.times.map { |i| [i, i]}.to_h) => 458848 ``` The performance is mostly not impacted, if not slightly better: ```ruby require 'benchmark/ips' require 'active_support/all' @store = ActiveSupport::Cache::MemoryStore.new @store.write("small", "small") Benchmark.ips do |x| x.report("read:miss") { @store.read("miss") } x.report("read:small") { @store.read("small") } x.report("write:small") { @store.write("small", "small") } end ``` 6.0.3.2: ``` Warming up -------------------------------------- read:miss 42.466k i/100ms read:small 25.315k i/100ms write:small 17.826k i/100ms Calculating ------------------------------------- read:miss 426.923k (± 1.9%) i/s - 2.166M in 5.074890s read:small 248.518k (± 2.7%) i/s - 1.266M in 5.097049s write:small 180.388k (± 1.6%) i/s - 909.126k in 5.041238s ``` This branch: ``` Warming up -------------------------------------- read:miss 42.040k i/100ms read:small 28.364k i/100ms write:small 19.361k i/100ms Calculating ------------------------------------- read:miss 417.814k (± 2.1%) i/s - 2.102M in 5.033186s read:small 278.950k (± 2.8%) i/s - 1.418M in 5.088135s write:small 193.384k (± 1.8%) i/s - 968.050k in 5.007446s ```
-
由 Jonathan Hefner 提交于
Improve the docs for ordered options [ci skip]
-
由 Haroon Ahmed 提交于
-
由 Eugene Kenny 提交于
Deduplicate some routing data
-
由 Jean Boussier 提交于
-
- 30 6月, 2020 11 次提交
-
-
由 Ryuta Kamizono 提交于
`attr_name` in `YAMLColumn` is not part of v1 YAML. Ref #27773.
-
由 Ryuta Kamizono 提交于
Context https://github.com/rails/rails/pull/39599#discussion_r445429365. Similar with #39611. Actually we never said we would keep Mashal compatibility between two versions of Rails, so we sometimes directly removed the dedicated types in the past (e.g. f1a0fa9e, #29666), but that direct removing makes cache rotation harder. Keeping the unused constant in new version at least during one version will help cache rotation easier.
-
由 Eugene Kenny 提交于
-
由 Eugene Kenny 提交于
Remove redundant Exclude in .rubocop.yml
-
由 dug 提交于
All `/tmp/` dirs are already excluded by line 11.
-
由 Eugene Kenny 提交于
Speed up railties test test_skip_webpack_install currently ~10s
-
由 Eugene Kenny 提交于
Use URI::DEFAULT_PARSER rather than instantiate a new one
-
由 Jean Boussier 提交于
-
由 Jonathan Hefner 提交于
Build running for doc pull request [ci skip]
-
由 harirajv 提交于
Adding [ci skip] in commit message, does not prevent build from running.
- 29 6月, 2020 4 次提交
-
-
由 Eugene Kenny 提交于
The error being handled here was removed in 01c9782f.
-
由 Eugene Kenny 提交于
Use LoadError#original_message if available in safe_constantize
-
由 Vipul A M 提交于
Improve docs sentence structure [ci-skip]
-
由 Jean Boussier 提交于
-
- 28 6月, 2020 2 次提交
-
-
由 Michael Hagar 提交于
-
由 Jonathan Hefner 提交于
Clarify what is not supposed to be in session in docs [ci-skip]
-
- 27 6月, 2020 2 次提交
-
-
由 Michael Hagar 提交于
-
由 Jonathan Hefner 提交于
fix active storage cors configuration [ci skip]
-