| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/ / |
|
|\ \
| | |
| | | |
Properly append preload / includes args on Merger
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Couldn't find other way to get the association name from a given class
other than looping through `reflect_on_all_associations` reflections ..
Noticed this one while looking at this example:
```ruby
class Product < ActiveRecord::Base
has_many :variants
has_many :translations
end
class Translation < ActiveRecord::Base
belongs_to :product
end
class Variant < ActiveRecord::Base
belongs_to :product
end
class BugTest < Minitest::Test
def test_merge_stuff
product = Product.create! name: 'huhu'
variant = Variant.create! product_id: product.id
Translation.create! locale: 'en', product_id: product.id
product_relation = Product.all
.preload(:translations)
.joins(:translations)
.merge(Translation.where(locale: 'en'))
.where(name: 'huhu')
assert_equal variant, Variant.joins(:product).merge(product_relation).first
end
end
```
|
|\ \ \
| | | |
| | | |
| | | | |
SQLite3: Add collation support for string and text columns
|
| | | | |
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | |
| | | | |
Allow the use of symbols or strings to specify enum values in test fixtures
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently, values for columns backing Active Record enums must be
specified as integers in test fixtures:
awdr:
title: "Agile Web Development with Rails"
status: 2
rfr:
title: "Ruby for Rails"
status: <%= Book.statuses[:proposed] %>
This is potentially confusing, since enum values are typically
specified as symbols or strings in application code. To resolve the
confusion, this change permits the use of symbols or strings to specify
enum values:
awdr:
status: :published
It is compatible with fixtures that specify enum values as integers.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Cause ActiveRecord::Base::reload to also ignore the QueryCache.
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
If specify `strict: :default` explicitly, do not set sql_mode.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Related with #17370.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Changed mysqldump to include sprocs and functions
|
| | |_|/ /
| |/| | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Remove broken and unused release task
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
- We do release with release.rb
- There is no `rake/gemcutter`
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Was left in adfab2dcf4003ca564d78d4425566dd2d9cd8b4f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
See #9683 for the reasons we switched to `distinct`.
Here is the discussion that triggered the actual deprecation #20198.
`uniq`, `uniq!` and `uniq_value` are still around.
They will be removed in the next minor release after Rails 5.
|
|/ / / |
|
| | | |
|
| | |
| | |
| | | |
For Inline formats, changed ` (single backticks) to <tt> tag at active record rdoc as single backticks (`) don't work with rdoc. for inline format.
|
|\ \ \
| | | |
| | | | |
typo fix [ci skip]
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix NetAddr link [ci skip]
|
| | | | | |
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
we should ask the reflection for its name rather than storing the
reflection name in two places (an array and a reflection object)
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This line introduced by the commit fd398475 for using
`Arel::Visitors::BindVisitor`. Currently it is not used.
|
|\ \ \ \
| | | | |
| | | | | |
Avoid the heredoc in one line queries and simple queries
|
| |/ / /
| | | |
| | | |
| | | | |
Related with #20028.
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Add schema cache to new connection pool after fork
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Active Record detects when the process has forked and automatically
creates a new connection pool to avoid sharing file descriptors.
If the existing connection pool had a schema cache associated with it,
the new pool should copy it to avoid unnecessarily querying the database
for its schema.
The code to detect that the process has forked is in ConnectionHandler,
but the existing test for it was in the ConnectionManagement test file.
I moved it to the right place while I was writing the new test for this
change.
|
|\ \ \ \
| | | | |
| | | | | |
Refactoring `ActiveRecord::Type::Integer` limit
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Divide methods for handling column options separately
|
| | |/ / /
| |/| | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix `serial?` with quoted sequence name
|
| |/ / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
docs for updating nested attributes while creating parent record
|
| | |_|_|/
| |/| | |
| | | | |
| | | | | |
skip]
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | | |
We must account for receiving one less call to #new_connection, but the
test otherwise remains valid.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch
- reduces the duplication among the `reference`-family methods.
- better explains all the optians available for `add_reference`.
- redirects to user from `references` to `add_reference`.
Originated by #20184.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Reducing AR::ConPool's critical (synchronized) section
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Renamed `@reserved_connections` -> `@thread_cached_conns`. New name
clearly conveys the purpose of the cache, which is to speed-up
`#connection` method.
The new `@thread_cached_conns` now also uses `Thread` objects as keys
(instead of previously `Thread.current.object_id`).
Since there is no longer any synchronization around
`@thread_cached_conns`, `disconnect!` and `clear_reloadable_connections!`
methods now pre-emptively obtain ownership (via `checkout`) of all
existing connections, before modifying internal data structures.
A private method `release` has been renamed `thread_conn_uncache` to
clear-up its purpose.
Fixed some brittle `thread.status == "sleep"` tests (threads can go
into sleep even without locks).
|
| | | | |
|