| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Fixnum and Bignum are deprecated in Ruby trunk
|
| |
| |
| |
| | |
https://bugs.ruby-lang.org/issues/12739
|
|\ \
| |/
|/| |
explain why autosave= disables inverse_of [ci skip]
|
| | |
|
|/ |
|
| |
|
|\
| |
| | |
Fix database runtimes on production log
|
| |
| |
| |
| |
| |
| |
| |
| | |
Rails default production configuration establishes "info" as log level.
Due to the changes included on commit
191facc857bb4fb52078fb544c6bc1613a81cc80, db runtimes were not being
collected if the log level was different than "debug", and 0.0 ms was
the runtime reported on production logs.
|
|\ \
| | |
| | | |
Remove duplicated `unless current_adapter?(:SQLite3Adapter)` condition
|
| | |
| | |
| | |
| | |
| | |
| | | |
`test_native_decimal_insert_manual_vs_automatic` exists inside
`unless current_adapter?(:SQLite3Adapter)`. This condition is
duplicated.
|
|\ \ \
| | | |
| | | | |
`:text_too_big` column should be `:text`, not `:integer`
|
| |/ / |
|
|\ \ \
| | | |
| | | | |
Use attribute_names over column_names
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Print the proper ::Float::INFINITY value when used as a default value
|
| | | | |
| | | | |
| | | | |
| | | | | |
Addresses https://github.com/rails/rails/issues/22396
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Avoid bumping the class serial when invoking executor
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
ActiveModel::Type)
Some code was previously referring to ActiveModel::Type::*. This could
cause issues in the future if any of the ActiveRecord::Type classes were
overridden in the future.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Fix issue with `cache_key` when the named timestamp column has value nil
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- When the named timestamp column is nil, we should just return the
cache_key with model name and id similar to the behavior of implicit
timestamp columns.
- Fixed one of the issue mentioned in https://github.com/rails/rails/issues/26417.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Zlib is used to generate the advisory lock since commit 2c2a8755460 .
Using the Migrator fails since then, when it is called without the rails context:
NameError: uninitialized constant ActiveRecord::Migrator::Zlib
This patch fixes the above error.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We've seen occasional Travis failures mentioning deadlocks. I think
they're escaping from this test.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Preserve cached queries name in AS notifications
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This was caused by 6d0d83a33f59d9415685852cf77818c41e2e2700. While the
bug it's trying to fix is handled if the association is loaded in an
after_(create|save) callback, it doesn't handle any cases that load the
association before the persistence takes place (validation, or before_*
filters). Instead of caring about the timing of persistence, we can just
ensure that we're not double adding the record instead.
The test from that commit actually broke, but it was not because the bug
has been re-introduced. It was because `Bulb` in our test suite is doing
funky things that look like STI but isn't STI, so equality comparison
didn't happen as the loaded model was of a different class.
Fixes #26661.
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
[ci skip] Use right format text
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fix doc format for `RecordFetchWarning` [ci skip]
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This is not as good a solution as actually hashing both values, but Ruby
doesn't expose that capability other than allocating the array. Unless we were
to do something silly like have a thread local array that is re-used, I don't
see any other way to do this without allocation. This solution may not be
perfect, but it should reasonably avoid collisions to the extent that we need.
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Per discussion in pull request #26622:
"Let's change it to PG::Error. The more specific classes mentioned are
subclasses, and the fact the raised exception is a PG::UndefinedColumn
doesn't change the fact that it's also a PG::Error." - matthewd
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
[ci skip] Clarify Postgresql Documentation
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This clarifies the object that +ActiveRecord::Base.connection.execute+
will return when using Postgresql.
|
|/ / / / / /
| | | | | |
| | | | | | |
Noticed that the `validate: false` option for `ActiveRecord::Persistence#save` and `#save!` were not formatted as code like the other examples in the documentation.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Test: JSON attribute value nil can be used in where(attr: nil)
Add changelog entry
|
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- If the attribute is not changed, then update_attribute does not run
SQL query, this effectively means that no change was made to the
attribute.
- This change was made in https://github.com/rails/rails/commit/0fcd4cf5
to avoid a SQL call.
- But the change resulted into `nil` being returned when there was no
change in the attribute value.
- This commit corrects the behavior to return true if there is no change
in attribute value. This is same as previous behavior of Rails 4.2
plus benefit of no additional SQL call.
- Fixes #26593.
|
|\ \ \ \ \ |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When the association is autosaved we were storing the details with
string keys. This was creating inconsistency with other details that are
added using the `Errors#add` method. It was also inconsistent with the
`Errors#messages` storage.
To fix this inconsistency we are always storing with symbols. This will
cause a small breaking change because in those cases the details could
be accessed as strings keys but now it can not.
The reason that we chose to do this breaking change is because `#details`
should be considered a low level object like `#messages` is.
Fix #26499.
[Rafael Mendonça França + Marcus Vieira]
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Reduce array allocation when `where` with passed hash
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
In most case `where` is called with passed hash. In the case
initializing `binds` is unnecessary.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Remove unnecessry `alias uniq distinct` for collection association
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
`CollectionAssociation` is internal class and `uniq` is not called.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Rename variable name that returning `type_for` to `type` from `column`
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
`column_for` was changed to `type_for` to return `type` object at
36bd52b4. But variable name is still `column`. It is very confusing.
Rename variable name `column` to `type` for readability.
|
|\ \ \ \ \ \ \
| |_|_|/ / / /
|/| | | | | | |
Clear attribute changes after handling locking
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Without this the changes to the lock version column will stick around
even after `touch` returns.
Before:
model.touch
model.changes
# => {"lock_version"=>[0, "1"]}
After:
model.touch
model.changes
# {}
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
assert [1, 3].includes?(2) fails with unhelpful "Asserting failed" message
assert_includes [1, 3], 2 fails with "Expected [1, 3] to include 2" which makes it easier to debug and more obvious what went wrong
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
[fixes #26441]
|