| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Travis: Test on jruby-head only for now
|
|/
|
|
| |
Arel head does not support 1.9 anymore.
|
|\
| |
| |
| |
| | |
morgoth/add-missing-dependency-to-activemodel-naming
Add missing AS core extension dependency
|
| | |
|
|\ \
| | |
| | | |
Add missing options to Error Message Interpolation guide [CI skip]
|
| |/ |
|
|\ \
| |/
|/| |
Change 'a' to 'an' for 'attribute' word [ci skip]
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method can be used to see all of the fields on a model which have
been read. This can be useful during development mode to quickly find
out which fields need to be selected. For performance critical pages, if
you are not using all of the fields of a database, an easy performance
win is only selecting the fields which you need. By calling this method
at the end of a controller action, it's easy to determine which fields
need to be selected.
While writing this, I also noticed a place for an easy performance win
internally which I had been wanting to introduce. You cannot mutate a
field which you have not read. Therefore, we can skip the calculation of
in place changes if we have never read from the field. This can
significantly speed up methods like `#changed?` if any of the fields
have an expensive mutable type (like `serialize`)
```
Calculating -------------------------------------
#changed? with serialized column (before)
391.000 i/100ms
#changed? with serialized column (after)
1.514k i/100ms
-------------------------------------------------
#changed? with serialized column (before)
4.243k (± 3.7%) i/s - 21.505k
#changed? with serialized column (after)
16.789k (± 3.2%) i/s - 84.784k
```
|
|\
| |
| | |
SanitizeHelper documentation formatting fixes + rewrite
|
| |
| |
| | |
[ci skip]
|
| | |
|
|/ |
|
|\
| |
| | |
TransactionManager should call rollback records
|
|/ |
|
|\
| |
| | |
Support after_commit callbacks in transactional fixtures
|
| |
| |
| |
| |
| |
| | |
after_commit callbacks run after committing a transaction whose parent
is not `joinable?`: un-nested transactions, transactions within test
cases, and transactions in `console --sandbox`.
|
| | |
|
|\ \
| | |
| | | |
Add an `:if_exists` option to `drop_table`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If set to `if_exists: true`, it generates a statement like:
DROP TABLE IF EXISTS posts
This syntax is supported in the popular SQL servers, that is (at least)
SQLite, PostgreSQL, MySQL, Oracle and MS SQL Sever.
Closes #16366.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the old implementation, the bind values were created, and then we
search the attributes for `Relation` objects, and merge them. This
completely ignores the order that the actual `where` clause will use. If
all non-relation where parameters are before the relations, it will
work. However, if we query on both a relation and a value, with the
value coming second, it breaks. The order of the hash should not affect
the final query (especially since hashes being ordered is an
implementation detail)
|
| | |
| | |
| | |
| | |
| | |
| | | |
I'm looking to introduce a `WhereClause` class to handle most of this
logic, and this method will eventually move over to there. However, this
intermediate refactoring should make that easier to do.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Looking through the blame, this logic used to be when we actually
created the bind tuple. My guess is that `nil` couldn't be handled there
at that time. It can, now.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In order to better facilitate refactoring, most places that mutated
`bind_values` have already been removed. One last spot snuck through.
Since we're no longer mutating the array, it also does not need to be
duped in `initialize_copy`.
|
|\ \ \
| | | |
| | | | |
fix dependency
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix wording in AR CHANGELOG about time columns change [ci skip]
|
| | |/ /
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
Use force: true options for creating tables in bug templates
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Generally we have to run the bug templates multiple times to get them
right and it always complains because the posts and comments tables
already exist due to earlier runs.
- Using force: true will eliminate this issue.
|
|\ \ \ \
| |/ / /
|/| | | |
fix typo in number_field_tag documentation [ci skip]
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Fix name_for_action in routing
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Use EXEEXT
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use the configured variable EXEEXT, instead of hardcoded suffix and
platform names.
And on such platforms, files which do not end with the suffix are not
executable, so the original names are not necessary, in general.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Remove unused accessor
|
| | | | | | |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Run SQL only if attribute changed for update_attribute method
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- This is based on https://github.com/rails/rails/issues/18400 but
tackling same issue with update_attribute method instead of update method.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Should escape regexp wildcard character `.`
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
`.` is regexp meta character. It should be escape for `assert_match`
correctly.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When an attribute is assigned, we determine if it was already marked as
changed so we can determine if we need to clear the changes, or mark it
as changed. Since this only affects the `attributes_changed_by_setter`
hash, in-place changes are irrelevant to this process. Since calculating
in-place changes can be expensive, we can just skip it here.
I also added a test for the only edge case I could think of that would
be affected by this change.
|
| | | | | | |
|
|/ / / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
[ci skip] Move a introduction of `Module.nesting`
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Move a introduction of `Module.nesting` to the beginning of sentence.
This change will help reader to try to dump `nesting`.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
prathamesh-sonpatki/use-existing-constant-for-join
Use existing constant for joining instead of '_'
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
remove reference to `Logger` core extensions from guide [ci skip]
|