| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
ref #15674
|
|\
| |
| | |
[CI SKIP] Improvements to Active Job guide.
|
| | |
|
|\ \
| | |
| | | |
PERF: avoid string allocations
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
This makes the following changes:
* warn if `:null` is not passed to `add_timestamps`
* `timestamps` method docs link to `add_timestamps` docs
* explain where additional options go
* adjust examples to include `null: false` (to prevent deprecation warnings)
|
| |
| |
| |
| | |
Now ActionView accepts <%= foo(){ %> and <%= foo()do %> :golf:
|
|\ \
| | |
| | | |
Allow class_name option in habtm to be consistent with other association...
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It doesn't make sense for the subclass to implement this method, and not
have it on the parent. We can also DRY up the implementation of
`#lookup` to be defined in terms of fetch, which will give us a single
point of entry
|
|\ \ \
| | | |
| | | | |
Remove bullet point to unwritten/unreferenced section
|
|/ / / |
|
| | | |
|
| | |
| | |
| | |
| | | |
This reverts commit da99a2a2982d35f670ad9647463e09bfe9032b70.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
dtaniwaki/support-symbol-foreign-key-column-to-delete
Support symbol foreign key to delete
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Add space in :start_year description for date_select
|
|/ / / / |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We added a comparison to "id", and call to `self.class.primary_key` a
*lot*. We also have performance hits from `&block` all over the place.
We skip the check in a new method, in order to avoid breaking the
behavior of `read_attribute`
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We don't have the check the range when the value is coming from the DB,
so override type_cast_from_database to short-circuit the extra work.
The difference is huge but the absolute gain is quite small. That being
said this is a hotspot and it showed up on the radar when benchmarking
discourse.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit f93df52845766216f0fe36a4586f8abad505cac4, reversing
changes made to a455e3f4e9dbfb9630d47878e1239bc424fb7d13.
Conflicts:
actionpack/lib/action_controller/test_case.rb
actionview/lib/action_view/test_case.rb
|
| | | |
| | | |
| | | |
| | | | |
This appears to be a performance hotspot, see #17655.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Performance improvement, as well as improved code clarity
|
|\ \ \ \
| | | | |
| | | | | |
Ruby on Rails 3.0 Release Notes: fix broken link
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
fixed minor typos in RELEASE doc [ci skip]
|
| |/ / / |
|
|\ \ \ \
| |/ / /
|/| | /
| | |/
| |/| |
PERF: stop allocating the string "id" over and over
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 6f7910a and 52c70d4.
Query params are type cased through the same method, so this approach doesn't work.
|
| | |
| | |
| | |
| | | |
See comment on 6f7910a
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We don't have the check the range when the value is coming from the DB, so
override type_cast_from_database to short-circuit the extra work.
type_cast_from_database (small) 3437507.5 (±29.2%) i/s - 14223135 in 4.996973s
type_cast_from_database (large) 3158588.7 (±28.3%) i/s - 13265628 in 4.992121s
type_cast (small) 481984.8 (±14.2%) i/s - 2352012 in 5.005694s
type_cast (large) 477331.8 (±14.2%) i/s - 2332824 in 5.012365s
Comparison:
type_cast_from_database (small): 3437507.5 i/s
type_cast_from_database (large): 3158588.7 i/s - 1.09x slower
type_cast (small): 481984.8 i/s - 7.13x slower
type_cast (large): 477331.8 i/s - 7.20x slower
The difference is huge but the absolute gain is quite small. That being said
this is a hotspot and it showed up on the radar when benchmarking discourse.
|
| |
| |
| |
| | |
Oh hey, we got to remove some code because of that!
|
| |
| |
| |
| |
| |
| | |
Arel handles this for us automatically. Updated tests, as BindParam is
no longer a subclass of SqlLiteral. We should remove the second argument
to substitute_at entirely, as it's no longer used
|
| |
| |
| |
| |
| |
| | |
If something causes the teardown block to not get run (errors,
interrupting test runs), we have to manually delete them, which is a
pain.
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Fix typo. [ci skip]
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
This caused a pretty major performance regression for 4.2, as this is a
hotspot for query construction. We're still slightly slower than 4.1,
but it's much less significant.
|
| |
| |
| |
| | |
Makes life easier for people profiling on master.
|
| |
| |
| |
| | |
This class no longer has any private methods
|
|\ \
| | |
| | | |
PERF: optimise type lookup to avoid invoking procs
|