| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add a record to target before any callbacks loads the record
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
`append_record` was added at 15ddd51 for not double adding the record.
But adding `append_record` (checking `@target.include?(record)`) caused
performance regression #27434. Instead of checking not double adding the
record, add a record to target before any callbacks loads the record.
Fixes #27434.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Follow up to 5b14129d8d4ad302b4e11df6bd5c7891b75f393c.
http://edgeapi.rubyonrails.org/classes/ActiveRecord/Attribute.html
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|/ / / / / |
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Simplify the regex for `unsigned?` method
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It is enough to distinguish only the trailing `unsigned` and
`unsigned zerofill`.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Throw friendly error message when fixture is not a hash
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Right now, when fixture is not a Hash we throw an error message
saying "fixture is not a hash". This is not very user friendly because
it's not saying which fixture is invalid.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
make sql statements frozen
dup if arel is not our string
expect runtime error
dont wrap runtime error in invalid
log errors will now be treated as runtime errors
update changelog
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
Schema cache in YAML
|
| | | | | | |
|
| |/ / / /
|/| | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
kamipo/prevent_range_error_for_belongs_to_associations
Prevent `RangeError` for `belongs_to` associations
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Currently to access `belongs_to` associations raises a `RangeError` if
foreign key attribute has out of range value.
It should return a nil value rather than raising a `RangeError`.
Fixes #20140.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Translate numeric value out of range to the specific exception
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Raise `ActiveRecord::RangeError` when values that executed are out of range.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Race conditions can occur when an ActiveRecord is destroyed
twice or destroyed and updated. The callbacks should only be
triggered once, similar to a SQL database trigger.
|
| | | | | | | |
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Moved database-specific ActiveModel types into ActiveRecord
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
ie. DecimalWithoutScale, Text and UnsignedInteger
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
- If aliased, then use the aliased attribute name.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
- If aliased, then use the aliased attribute name.
- Fixes #26417.
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Should be sync the `primary_key` definition with actually created
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Actually the `primary_key` definition is not used but the inconsistency
is confusing. Actual definition is `bigint auto_increment PRIMARY KEY`
so `UNSIGNED` and `(8)` is unnecessary.
See also #21607.
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
While these method aren't public API, they are a non-trivial internal
API which warrant a bit of explanation.
|
|\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Fix association scope inside autosaved association callbacks
|
| | |_|_|_|_|_|/ /
| |/| | | | | | | |
|
| |_|_|/ / / / /
|/| | | | | | | |
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
kamipo/translate_not_null_violation_to_specific_exception
Translate NOT NULL violation to the specific exception
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Raise `ActiveRecord::NotNullViolation` when a record cannot be inserted
or updated because it would violate a not null constraint.
|
|\ \ \ \ \ \ \ \ \
| |/ / / / / / / /
|/| | | | | | | | |
Should inherit `StatementInvalid` rather than `WrappedDatabaseException`
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Because defunct wrapper class is kept for compatibility.
|
|\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Fix `add_index` to normalize column names and options
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Currently does not work the following code.
```ruby
add_index(:people, ["last_name", "first_name"], order: { last_name: :desc, first_name: :asc })
```
Normalize column names and options to fix the issue.
|
|\ \ \ \ \ \ \ \ \ \
| |_|_|_|/ / / / / /
|/| | | | | | | | | |
Remove unnecessary `connection_name` variable
|
| | |/ / / / / / /
| |/| | | | | | | |
|
|\ \ \ \ \ \ \ \ \
| |/ / / / / / / /
|/| | | | | | | | |
Make `:auto_increment` option works on `:bigint`
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Follow up to #27272.
|
| | | | | | | | | |
|
|/ / / / / / / / |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Using `:auto_increment` option for abstracting the DB-specific auto
incremental types. It is worth to ease to implement the compatibility
layer.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
SQLite's default query interface ignores anything after the first
semicolon in a query. This is actually quite common behavior in database
drivers, especially when dealing with code paths for prepared statements
(which we are). While this should only affect SQLite, as I'm not aware
of any drivers which don't support multi-insert. Even if this does
affect other third party drivers though, I'd prefer not to assume that
more than one query can be executed per call to `execute`.
Fixes #26948.
Close #27242.
|
| |/ / / / / /
|/| | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
PG's type map assumes that all Ruby floats are going to a field with an
OID of type float4 or float8, and generates text which is invalid syntax
for other types. Since the gem can handle floats properly without this
encoder (albeit slightly slower), we can continue to use that as we have
in prior versions of Rails.
Fixes #27246
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
While working on updating Paper Trail for 5.1 compatibility, I noticed
that I was required to pass a second argument to `attribute`. I didn't
intend for this to be the case, as `attribute :foo` is totally
reasonable shorthand for "I want `attr_accessor :foo`, but also have it
work with things like `.attributes` and `ActiveRecord::Dirty`"
|