| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Strict mode controls how MySQL handles invalid or missing values in
data-change statements such as INSERT or UPDATE. If strict mode is not
in effect, MySQL inserts adjusted values for invalid or missing values
and produces warnings.
```ruby
def test_mysql_not_null_defaults_non_strict
using_strict(false) do
with_mysql_not_null_table do |klass|
record = klass.new
assert_nil record.non_null_integer
assert_nil record.non_null_string
assert_nil record.non_null_text
assert_nil record.non_null_blob
record.save!
record.reload
assert_equal 0, record.non_null_integer
assert_equal "", record.non_null_string
assert_equal "", record.non_null_text
assert_equal "", record.non_null_blob
end
end
end
```
It is inconsistent with other types that only text/blob defaults treated
as an empty string. This commit fixes the inconsistency.
|
|\
| |
| |
| | |
Preserve readonly flag only for readonly association
|
| |
| |
| |
| | |
Fixes #24093
|
|\ \
| | |
| | | |
Remove unnecessary ordinal methods for collection association
|
| | |
| | |
| | |
| | |
| | | |
Currently `CollectionProxy` inherits `Relation` therefore we can use
its own methods rather than delegating to collection association.
|
|\ \ \
| | | |
| | | | |
Remove `sanitize_conditions` and use `sanitize_sql` instead of `sanitize_conditions`
|
| | | |
| | | |
| | | |
| | | | |
Because `sanitize_conditions` protected method is only used in one place.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
kamipo/remove_unnecessary_test_sql_for_insert_with_returning_disabled
Remove unnecessary `test_sql_for_insert_with_returning_disabled`
|
| | |/ /
| |/| |
| | | |
| | | |
| | | | |
Because `sql_for_insert` is only called in `use_insert_returning?` is
true since #26002.
|
|\ \ \ \
| | | | |
| | | | | |
Updates Active Job guide on default runner.
|
|/ / / /
| | | |
| | | |
| | | | |
The immediate runner is no longer default, the async adapter is.
|
|\ \ \ \
| |/ / /
|/| | | |
i18n documentation for required belongs_to message
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When you don't explicitly provide `optional: true` to a `belongs_to`
definition, rails adds a validation to ensure presence of the
`belongs_to` validation.
However, when the validation is added, it is added with a message key of
`:required`, which was not documented in the "Translations for Active
Record Models" section of the i18n guides.
Here are the lines that add the `:required` message:
https://github.com/rails/rails/blob/c3e3577f9d5058382504773bf0d32afa15cb131e/activerecord/lib/active_record/associations/builder/belongs_to.rb#L136-L138
This commit adds the "non-optional association" validation to the table,
so rails users know how to override the message for this validation. The
default message is "must exist".
|
| | |
| | |
| | |
| | |
| | | |
Those methods are only using inside this module and by a private method
so they all should be private.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since e852daa6976cc6b6b28ad0c80a188c06e226df3c only the verb methods
where extracting the defaults options. It was merged a fix for the
`root` method in 31fbbb7faccba25b2e3b5e10b8fca1468579d629 but `match`
was still broken since `:defaults` where not extracted.
This was causing routes defined using `match` and having the `:defaults`
keys to not be recognized.
To fix this it was extracted a new private method with the actual
content of `match` and the `:defaults` extracting was moved to `match`.
|
|\ \
| | |
| | | |
Fix #26187
|
|/ /
| |
| | |
As "discussed" in #26187 I added the route that magically disappeared again.
|
|\ \
| | |
| | | |
Fix diffrent naming in getting_started.md
|
|/ /
| |
| |
| |
| | |
I've noticed that once `<h1>Editing article</h1>` L1157 was the title and then later on it's `<h1>Edit article</h1>` L1358 which kind of makes more sense...
[ci skip]
|
|\ \
| | |
| | |
| | |
| | | |
kamipo/fix_error_message_for_out_of_range_integer_value
Fix error message for out of range byte size integer value for consistency
|
| | |
| | |
| | |
| | | |
Related f27a932, #25391.
|
|\ \ \
| | | |
| | | |
| | | | |
Remove parameter "options = nil" for #clear
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Move new CHANGELOG entry top [ci skip]
Remove parameter "options = nil" for #clear
|
|\ \ \ \
| | | | |
| | | | | |
Fix link in Rails 5.0 Release Note
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
`pluck` should use `records` (`load_target`) when `loaded?` is true
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Fix does_not_support_reverse? to find sql functions with commas in nested brackets
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
brackets
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
refactor `CommandsTasks`
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Extract a common method of `Rails::CommandsTasks` and
`Rails::Engine::CommandsTasks` to the module.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
kamipo/sql_for_insert_should_be_called_inside_exec_insert
`sql_for_insert` should be called inside `exec_insert`
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
`exec_insert` cannot return last inserted id if `use_insert_returning?`
is true. `sql_for_insert` should be called inside `exec_insert`.
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Fix inconsistent the signature of finder methods for collection association
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
`#second`, `#third`, etc finder methods was added in 03855e790de2224519f55382e3c32118be31eeff.
But the signature of these methods is inconsistent with the original
finder methods. And also the signature of `#first` and `#last` methods
is different from the original. This commit fixes the inconsistency.
|
|\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
prathamesh-sonpatki/start-documenting-ac-testcase-again
Start documenting ActionController::TestCase again
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
- Rails 5 changed interface for passing arguments to request methods to
keyword args for AC::TestCase but also hid the documentation.
- But existing AC::TestCase tests need the new documentation about
keyword args. So resurrected documentation and added a note about not
using this for new tests.
- The guides and other documentation is already updated to use
`ActionDispatch::IntegrationTest`.
[Matthew Draper, Prathamesh Sonpatki]
|
|\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
kamipo/finder_bang_method_should_call_non_bang_method
Finder bang method should call non bang method
|
| | |/ / / / / / / /
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Otherwise CollectionProxy's bang methdos cannot respect dirty target.
|
|\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | | |
Check if the logger is not nil before using it
|
| | | | | | | | | | | |
|
|\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Extract `PredicateBuilder::CaseSensitiveHandler`
|
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Currently uniqueness validator is coupled with building Arel ASTs.
This commit extracts `PredicateBuilder::CaseSensitiveHandler` for
decouple the building Arel ASTs.
|
|\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | | |
Fix count which would sometimes force a DISTINCT
|
| | |_|/ / / / / / / / /
| |/| | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
The current behaviour of checking if there is a LEFT OUTER JOIN arel
node to detect if we are doing eager_loading is wrong. This problem
wasn't frequent before as only some pretty specific cases would add
a LEFT OUTER JOIN arel node. However, the recent new feature
left_outer_joins also add this node and made this problem happen
frequently.
Since in the perform_calculation function, we don't have access to
eager_loading information, I had to extract the logic for the distinct
out to the calculate method.
As I was in the file for left_outer_join tests, I fixed a few that had
bugs and I replaced some that were really weak with something that
will catch more issues.
In relation tests, the first test I changed would have failed if it
had validated the hash returned by count instead of just checking how
many pairs were in it. This is because this merge of join currently
transforms the join node into an outer join node, which then made
count do a distinct. So before this change, the return was
{1=>1, 4=>1, 5=>1}.
|
|\ \ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | | |
kamipo/dont_handle_as_associated_predicate_if_table_has_column
Do not handle as an associated predicate if a table has the column
|
| | |/ / / / / / / / / /
| |/| | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
If handled as an associated predicate even though a table has the
column, will generate invalid SQL by valid column name treated as a
table name.
|
|\ \ \ \ \ \ \ \ \ \ \ \
| |_|_|_|_|_|/ / / / / /
|/| | | | | | | | | | | |
Remove internal `sanitize` method
|