| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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).
|
| | | |
|
| | |
| | |
| | |
| | | |
Move post checkout connection verification out of mutex.synchronize.
|
| | | |
|
|\ \ \
| |/ /
|/| | |
[ci skip] Remove comments about Rails 3.1
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Stems from https://github.com/rails/rails/pull/20105#issuecomment-100900939
where @senny said:
> From my point of view, all the docs (guides, API) are version bound.
> They should describe that version and continue to be available when newer versions are released.
> The cross referencing can be done by the interested user.
|
|\ \ \
| | | |
| | | | |
remove redundant parenthesis
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Remove call to sanitize_sql_hash_for_conditions
|
| | | | | |
|
| | |/ /
| |/| |
| | | |
| | | | |
This method has already been removed.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This can resolve confusing situation when a top level constant exists
but a namespaced version is identified.
Related to #19531.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
https://github.com/agrobbin/rails into agrobbin-sti-subclass-from-attributes
Conflicts:
activerecord/CHANGELOG.md
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If your STI class looks like this:
```ruby
class Company < ActiveRecord::Base
self.store_full_sti_class = false
class GoodCo < Company
end
class BadCo < Company
end
end
```
The expectation (which is valid) is that the `type` in the database is saved as
`GoodCo` or `BadCo`. However, another expectation should be that setting `type`
to `GoodCo` would correctly instantiate the object as a `Company::GoodCo`. That
second expectation is what this should fix.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Add full set of MySQL CLI options to support SSL authentication when using db:structure dump and load
|
| | |/ / /
| |/| | |
| | | | |
| | | | | |
db:structure dump and load
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Add more detailed comment about _assign_attribute method [ci skip]
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
fix minor problems
|
|/ / / / / |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I think we are better off leaving `sudo` outside of the documented
way of installing gems (`activerecord`, `actionpack`, …).
We don’t want newbies to think that `sudo` is required or, even worse, than
they actually have to type `[sudo] gem install`.
In most scenarios, `sudo` is not needed to install gems, and people who do
need it, probably already know about it.
What do you think? :grin:
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | | |
Now that master points at Rails 5, we might not need to explain how
things used to work in Rails 3. Or we might… up to you :grin:
|
| | | |
|
| |/
|/|
| |
| | |
the module name was changed in 8e814a0ac0768816974d2bfd68d33d931592751e
|
|\ \
| | |
| | | |
:nodoc: rename_column in postgresql/schema_statements.rb [ci skip]
|
| | |
| | |
| | |
| | |
| | | |
Its already doc'ed in
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The old `test_create_bang_returns_falsy_when_join_record_has_errors` had
a missleading name and was a duplicate of
`test_save_should_not_raise_exception_when_join_record_has_errors`.
Since it had an assertion on the return value I renamed it accordingly
and got rid of the duplicate test.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure that tests do not hardcode the default value.
For example `test_instantiation_doesnt_try_to_require_corresponding_file`
always restored the configuration to `true` regardless of what it's
original value was.
Extract a helper to make the global modification consistent across tests.
|
|\ \
| | |
| | | |
make AbstractAdapter#subquery_for private
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Use `select_value` for avoid `ActiveRecord::Result` instance creating
|
| | | |
| | | |
| | | |
| | | |
| | | | |
`exec_query` create `ActiveRecord::Result` instance. It is better to use
`select_value` instead of `exec_query` for performance.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
kamipo/use_select_rows_instead_of_select_one_in_select_values
Use `select_rows` instead of `select_one` in `select_value`
|