| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
CI against MariaDB 10.3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- MariaDB 10.3.7 is the first GA release
https://mariadb.com/kb/en/library/mariadb-1037-release-notes/
- MariaDB 10.3 translates `LENGTH()` to `OCTET_LENGTH()` function
https://mariadb.com/kb/en/library/sql_modeoracle-from-mariadb-103/
> MariaDB translates LENGTH() to OCTET_LENGTH()
- MySQL does NOT translate `LENGTH()` to `OCTET_LENGTH()`
However, it translates `OCTET_LENGTH()` to `LENGTH()`
Here are generated schema dumps of this test to show the differences
between MySQL and MariaDB:
* MySQL 8.0 (Server version: 8.0.11 MySQL Community Server - GPL)
```ruby
create_table \"virtual_columns\", options: \"ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci\", force: :cascade do |t|
t.string \"name\"
t.virtual \"upper_name\", type: :string, as: \"upper(`name`)\"
t.virtual \"name_length\", type: :integer, as: \"length(`name`)\", stored: true
t.virtual \"name_octet_length\", type: :integer, as: \"length(`name`)\", stored: true
end
```
* Maria DB 10.3 (Server version: 10.3.7-MariaDB-1:10.3.7+maria~bionic-log mariadb.org binary distribution)
```ruby
create_table \"virtual_columns\", options: \"ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci\", force: :cascade do |t|
t.string \"name\"
t.virtual \"upper_name\", type: :string, as: \"ucase(`name`)\"
t.virtual \"name_length\", type: :integer, as: \"octet_length(`name`)\", stored: true
t.virtual \"name_octet_length\", type: :integer, as: \"octet_length(`name`)\", stored: true
end
```
|
|\ \
| | |
| | | |
[skip ci] Add changelog about bumping minimum SQLite version to 3.8
|
|/ /
| |
| |
| | |
Related to #32923
|
|\ \
| | |
| | | |
Remove mocha from action cable
|
| | |
| | |
| | |
| | | |
Q.E.D.
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
"brethen" is misspelled and could be clearer
|
|/ / |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* ActionMailer::Base can unregister observer(s) and interceptor(s).
One or multiple mail observers can be unregistered using
`ActionMailer::Base.unregister_observers` or
`ActionMailer::Base.unregister_observer`.
One or multiple mail interceptors can be unregistered using
`ActionMailer::Base.unregister_interceptors` or
`ActionMailer::Base.unregister_interceptor`.
For preview interceptors, it's possible to use
`ActionMailer::Base.unregister_preview_interceptors` or
`ActionMailer::Base.unregister_preview_interceptor`.
* Ensure to be reset registered observer(s) and interceptor(s)
* Add explanation to CHANGELOG
* Add original author's name
[Kota Miyake + Rafael Mendonça França + Claudio Ortolina]
|
|\ \
| | |
| | | |
Align Time.zone.at method signature with that of Time::at
|
| |/
| |
| |
| | |
For parity with Ruby's Time::at
|
| | |
|
|\ \
| | |
| | | |
Include application/javascript when checking content_type
|
| | | |
|
| |/
|/|
| |
| | |
This is unnecessary since #22269.
|
|\ \
| | |
| | |
| | |
| | | |
Fix name of the second parameter of block executed by `discard_on` and `retry_on`
[ci skip]
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
`retry_on`
[ci skip]
Follow up #32854 and ba07b5fc12a740d41d288bea6347f15f4948483c.
|
|\ \
| | |
| | |
| | | |
Fix parent record should not get saved with duplicate children records
|
| | |
| | |
| | |
| | | |
- Fixes #32940
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`QueryAttribute#value_for_database` calls only `type.serialize`, and
`Boolean#serialize` is a no-op unlike other attribute types.
It caused the issue #32624. Whether or not `serialize` will invoke
`cast` is undefined in our test cases, but it actually does not work
properly unless it does so for now.
Fixes #32624.
|
|\ \ \
| | | |
| | | | |
Fix sentence [ci skip]
|
| | | | |
|
| | | |
| | | |
| | | | |
Resolves #33006
|
|\ \ \ \
| | | | |
| | | | | |
Fix actionable test's assertion
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Pull Request #32727 changed "mocha expects" in favor of `MethodCallAssertions`.
This commit fixes assertion that became less strict after the PR.
|
|\ \ \ \
| | | | |
| | | | | |
Fix: Arel Postgresql visitor generates invalid SQL for GROUPING SETS.
|
| |/ / / |
|
|\ \ \ \
| |/ / /
|/| | | |
Update et-orbi to latest version
|
|/ / /
| | |
| | |
| | | |
avoids `warning: assigned but unused variable - tu`.
|
| | |
| | |
| | |
| | |
| | | |
Because the same method is defined in `FormWithTest` of the parent class.
https://github.com/rails/rails/blob/fe9547b6fb60d92af181c8613166fa4322f8e307/actionview/test/template/form_helper/form_with_test.rb#L19..L26
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
Since `parse_raw_value_as_a_number` may not always parse raw value from
database as a number without type casting (e.g. "$150.55" as money
format).
Fixes #32531.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since #31405, using `#increment!` with touch option instead of `#touch`
to touch belongs_to association if counter cache is enabled. It caused
the regression since `#increment!` won't invoke after_touch callbacks
even if touch option is given.
To fix the regression, make `#increment!` invokes after_touch callbacks
if touch option is given.
Fixes #31559.
Fixes #32408.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On belongs_to with `touch: true` association, unassigned object is
caused touching, but assigned object is not touched.
And also, if primary key is customized, it will touch against the wrong
target looked up by the customized key as primary key.
This change ensures correctly touching consistently between assigning
and unassigning.
|
| | |
|
| |
| |
| |
| | |
Since UPDATE with a subquery doesn't work on MySQL.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
counter
If belongs_to primary key is customized, the callback will update
counters against the wrong target looked up by the customized key as
primary key.
We need to convert the customized key into an object that can be
referred to as primary key.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since #31575, `BelongsToAssociation#target=` replaces owner record's
foreign key to fix an inverse association bug.
But the method is not only used for inverse association but also used
for eager loading/preloading, it caused some public behavior changes
(#32338, #32375).
To avoid any side-effect in loading associations, I reverted the
overriding `#target=`, then introduced `#inversed_from` to replace
foreign key in `set_inverse_instance`.
Closes #32375.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since #26074, introduced force equality checking to build a predicate
consistently for both `find` and `create` (fixes #27313).
But the assumption that only array/range attribute have subtype was
wrong. We need to make force equality checking more strictly not to
allow serialized attribute.
Fixes #32761.
|
|\ \
| | |
| | | |
Improve grammar for DateAndTime before? and after? calculations [ci skip]
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Update stale issue comment to mention 5-2-stable
|
|/ /
| |
| |
| | |
5-2-stable is the release series that currently receives bug fixes.
|