| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This means we can eliminate nil checks and remove some mutations from
the `decorate` method.
|
| |
|
|\
| |
| | |
Support read queries with leading characters while preventing writes
|
| |
| |
| |
| |
| |
| |
| | |
* The READ_QUERY regex would consider reads to be writes if they started with
spaces or parens. For example, a UNION query might have parens around each
SELECT - (SELECT ...) UNION (SELECT ...).
* It will now correctly treat these queries as reads.
|
| |
| |
| |
| | |
This is needed to fix #35278.
|
| |
| |
| |
| |
| | |
Also, improving an argument error message for `limit`, extracting around
`type_to_sql` code into schema statements, and more exercise tests.
|
|\ \
| |/
|/| |
Fix prepared statements caching to be enabled even when query caching is enabled
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Related cbcdecd, 2a56b2d.
This is a regression caused by cbcdecd.
If query caching is enabled, prepared statement handles are never
re-used, since we missed that a query is preprocessed when query caching
is enabled, but doesn't keep the `preparable` flag.
We should care about that case.
|
|\
| |
| | |
activemodel typo fixes.
|
| | |
|
|\ \
| |/
|/| |
Ensure `update_all` series doesn't care optimistic locking
|
| |
| |
| |
| |
| |
| | |
Incrementing the lock version invalidates any other process's optimistic
lock, which is the desired outcome: the record no longer looks the same
as it did when they loaded it.
|
|\ \
| | |
| | | |
[ci skip] activejob typo fix.
|
|/ / |
|
| |
| |
| |
| | |
Use "support/stubs/strong_parameters" instead.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
How to use `select` is updated [ci skip]
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Without this change, `store_translations` silently fails when available
locales already initialized.
Ref:
https://travis-ci.org/rails/rails/jobs/497615616#L6846
https://travis-ci.org/rails/rails/jobs/497605027#L6856
|
|\ \
| | |
| | |
| | |
| | | |
janko/restore-io-copy-stream-compatibility-with-uploaded-file
Restore ActionDispatch::Http::UploadedFile compatibility with IO.copy_stream
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In https://github.com/rails/rails/pull/28676 the `#to_path` method was
added to `ActionDispatch::Http::UploadedFile`. This broke usage with
`IO.copy_stream`:
source = ActionDispatch::Http::UploadedFile.new(...)
IO.copy_stream(source, destination)
# ~> TypeError: can't convert ActionDispatch::Http::UploadedFile to IO (ActionDispatch::Http::UploadedFile#to_io gives Tempfile)
Normally `IO.copy_stream` just calls `#read` on the source object.
However, when `#to_path` is defined, `IO.copy_stream` calls `#to_io` in
order to retrieve the raw `File` object. In that case it trips up,
because `ActionDispatch::Http::UploadedFile#to_io` returned a `Tempfile`
object, which is not an `IO` subclass.
We fix this by having `#to_io` return an actual `File` object.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
We test the inflections for both autoloaders, but we can
also autoload the constant as a sort of integration test.
|
| | | |
|
| | | |
|
|/ /
| |
| |
| | |
[Harry Brundage & Xavier Noria]
|
|\ \
| | |
| | | |
minor grammar fix [ci skip]
|
|/ / |
|
| | |
|
|\ \
| | |
| | | |
Add a finalizer to inline templates
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit adds a finalizer just to inline templates. We can't cache
compilation of inline templates because it's possible that people could
have render calls that look like this:
```ruby
loop do
render inline: "#{rand}"
end
```
and we would cache every one of these different inline templates. That
would cause a memory leak. OTOH, we don't need finalizers on regular
templates because we can cache, control, and detect changes to the
template source.
Fixes: #35372
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
y-yagi/fix_test_select_with_subquery_in_from_uses_original_table_name
Make `test_select_with_subquery_in_from_uses_original_table_name` work with old SQLite3
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
old SQLite3
It seems that the reason why the `test_select_with_subquery_in_from_uses_original_table_name`
does not pass is that the return value of `sqlite3_column_name()` is
wrong due to subquery flattening.
This seems to have been fixed with SQLite 3.20.0(https://sqlite.org/changes.html#version_3_20_0).
But CI uses the old version(maybe 3.11.0), I added `DISTINCT` to avoid
optimization by subquery flattening.
Ref: https://sqlite.org/optoverview.html#flattening
|
|\ \
| | |
| | |
| | |
| | | |
abhaynikam/update-getting-started-doc-for-migration-version-in-rails-6
Update migration version to 6.0 in the getting started doc [ci skip]
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Update callbacks skipping methods in guide.
[ci skip]
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Ensure that rendered templates always have a format
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This removes one call to `lookup_context` and also eliminates a
conditional in `_render_template`.
|
| |/ / /
|/| | |
| | | |
| | | | |
Somehow `ENV["BUILDKITE"]` didn't work as expected.
|
|\ \ \ \
| |_|/ /
|/| | | |
Pass lookup context to the layout handlers
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
I want to start reducing the calls to `lookup_context`. That method
caches the lookup context in an ivar, but I would like to cache the
lookup context on the stack. That way we aren't coupled to the behavior
of the `lookup_context` method.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Buildkite as well
https://buildkite.com/rails/rails/builds/58981#2423c707-7c56-4639-a76e-8db4fd1e5cf3/102-111
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
abhaynikam/35351-allows-rich-text-area-to-have-translated-placeholder
Allows rich_text_area_tag to add translated placeholder text if placeholder option set to true
|
| |/ /
| | |
| | |
| | | |
placeholder option set to true
|
| | | |
|
|\ \ \
| | | |
| | | | |
Bumps Zeitwerk
|
| | | |
| | | |
| | | |
| | | | |
Possible thanks to Zeitwerk 1.3.0.
|
| | | |
| | | |
| | | |
| | | | |
Possible thanks to Zeitwerk 1.3.0.
|