| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* Remove AbstractMysqlAdapter::Version since full_version_string will always
be set.
* Remove nodoc on private methods because private methods are not exposed in
the docs.
|
|
|
|
|
|
|
|
|
| |
* The database version is cached in all the adapters, but this didn't include
the full MySQL version. Anything that uses the full MySQL version would need
to query the database to get that data even if they're using the schema
cache.
* Now the full MySQL version will be cached in the schema cache via the
Version object.
|
|\
| |
| | |
adjust #:nodoc: style
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Code is enclosed by code block [skip ci]
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
soartec-lab/update_guide_engine_gem_development_dependency
Updated the description of `add_development_dependency` [skip ci]
|
|/ / |
|
|\ \
| | |
| | | |
Fix loading `ActionMailbox::BaseController` when CSRF protection is disabled
|
|/ /
| |
| |
| |
| |
| |
| | |
When `default_protect_from_forgery` is false, `verify_authenticity_token`
callback does not define and `skip_forgery_protection` raise exception.
Fixes #34837.
|
|\ \
| |/
|/|
| |
| | |
Remove outdated debugging plugins
[ci skip]
|
|/
|
|
| |
Footnote and Query review are outdated, unmaintained,
and Query review is for rails 3.
|
|\
| |
| | |
Update the result of generate command [skip ci]
|
| | |
|
|\ \
| |/
|/| |
Delete not user method for plugin_generator
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Adding type option example to the documentation [ci skip]
It was hard for me looking https://api.rubyonrails.org/ to find that there was a type option.
Adding this to the doc would be helpful especially for application with old tables where the references are still an integer not bigint
* Update activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
Co-Authored-By: robertomiranda <rjmaltamar@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit b33ccaa6c335e2ce482c9de1aa05e4a612aa84bc.
That isn't hit by `git grep`, but actually used in meta-programming...
https://github.com/rails/rails/blob/b33ccaa6c335e2ce482c9de1aa05e4a612aa84bc/activerecord/test/cases/transactions_test.rb#L1020-L1028
|
| | |
|
|\ \
| | |
| | |
| | | |
Fix "autosave: true" on belongs_to of join model causes invalid records to be saved
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use a variable local to the `save_collection_association` method in
`activerecord/lib/active_record/autosave_association.rb`, instead of an
instance variable.
Prior to this PR, when there was a circular series of `autosave: true`
associations, the callback for a `has_many` association was run while
another instance of the same callback on the same association hadn't
finished running. When control returned to the first instance of the
callback, the instance variable had changed, and subsequent associated
records weren't saved correctly. Specifically, the ID field for the
`belongs_to` corresponding to the `has_many` was `nil`.
Remove unnecessary test and comments.
Fixes #28080.
|
| | |
| | |
| | |
| | | |
Refer #35875.
|
| | |
| | |
| | |
| | | |
For avoiding check against `node_modules` in railties's test dir.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
All adapters (sqlite3, mysql2, postgresql, oracle-enhanced, sqlserver)
doesn't use `sequence_name` in `sql_for_insert`.
https://github.com/rsim/oracle-enhanced/blob/4e0db270a93859c9713fd079dbb315b9fe550e57/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb#L79-L85
https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/959fe8f49744460b876bc205c73259f8d4f37629/lib/active_record/connection_adapters/sqlserver/database_statements.rb#L226-L249
It can be handled in `exec_insert` like postgresql adapter if we want.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Improve == and hash methods on various schema cache structs to be allocation free.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
free.
The previous implementation would allocate 2 arrays per comparisons.
I tried relying on Struct, but they do allocate one Hash inside `Struct#hash`.
|
|\ \ \ \
| | | | |
| | | | | |
Clarify exists check in logs
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The default log messages for Model.exists?, when called from .save
on an object which uses scoped uniqueness validation like:
class Example < ApplicationRecord
validates :field, uniqueness: {scope: parent_id}
end
can result in slightly misleading logs.
An example case:
↳ app/controllers/example_controller.rb:23
(0.2ms) begin transaction
↳ app/controllers/example_controller.rb:39
Example Exists (0.2ms) SELECT 1 AS one FROM "examples" WHERE "examples"."field" IS NULL AND "examples"."parent_id" = ? LIMIT ? [["parent_id", 123], ["LIMIT", 1]]
↳ app/controllers/example_controller.rb:39
(0.1ms) rollback transaction
To me, a Rails newbie, this parsed as the following:
- started the transaction to create a thing
- found that your object exists already!
- so we rolled back the transaction
(even though the actual cause of the transaction is something that happens
after the Exists check.)
All this does is add a question mark to the message, to make it clear in the
log that this is a check, not a confirmation.
This may be kind of silly, but it may save some future goofs by newbs like me.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Adds named_captures to MatchData to emulate Regex
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This change adds a `named_captures` method to
`ActionDispatch::Journey::Path::MatchData` in order to emulate a similar
method present on `Regex`'s `MatchData` present in Ruby core.
This method can be useful for introspection of routes without the need
to use `zip` while testing or developing in Rails core.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Only override async adapter when seeding
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Bring back postgresql_version as an alias.
|
| | | | | | |
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | | |
This is also resolved in `arel_column`.
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
FIX: ActionMailbox test helper argument list
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`receive_inbound_email_from_source` should accept an argument list
(`*args`) instead, to allow for the `source` argument in
`create_inbound_email_from_source`.
```ruby
receive_inbound_email_from_source(source, status: :processing)
```
Accepting a keyword argument list (`**kwargs`) results in an
`ArgumentError`
```text
ArgumentError: wrong number of arguments (given 1, expected 0)
```
|
| |/ / /
|/| | | |
|
| |/ /
|/| | |
|
|\ \ \
| |/ /
|/| | |
[ci skip] Fix `#upsert` method comment
|
|/ /
| |
| |
| |
| | |
Because this method only updates or inserts a single record
like `insert` method.
|
| | |
|
|\ \
| | |
| | | |
Wrap Mysql count of deleted rows in lock block to avoid conflict in test
|
| | | |
|
|\ \ \
| | | |
| | | | |
Raise `ArgumentError` for invalid `:limit` and `:precision` like as other options
|