| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ConnectionHandler will not have any knowlodge of AR models now, it will
only know about the specs.
Like that we can decouple the two, and allow the same model to use more
than one connection.
Historically, folks used to create abstract AR classes on the fly in
order to have multiple connections for the same model, and override the
connection methods.
With this, now we can override the `specificiation_id` method in the
model, to return a key, that will be used to find the connection_pool
from the handler.
|
|
|
|
| |
[ci skip]
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Unlike `one?` and `none?`, `empty?` has interactions with methods
outside of enumerable. It also doesn't fit in the same vein.
`Topic.any?` makes sense. `Topic.empty?` does not, as `Topic` is not a
container.
Fixes #24808
Close #24812
|
|
|
|
|
|
|
| |
`schema_creation` is not public API.
https://github.com/rails/rails/blob/v5.0.0.beta4/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L121
https://github.com/rails/rails/blob/v5.0.0.beta4/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L78
|
|\
| |
| |
| |
| | |
Fix counter_cache double increment bug
Close #24183
|
| | |
|
| |
| |
| |
| |
| | |
Rails should not be explicity mentioned within Active Record, since
railties and the Rails ecosystem is not required for use.
|
| |
| |
| |
| |
| |
| | |
Refactor of #22911.
Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Follow up of 1683410.
Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
`ActiveRecord::Migration` needn't know about migration version
compatibility lookup. Delegate it to the Compatibility module.
Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
guides/source/configuring.md
|
| | | |
|
| | |
| | |
| | |
| | | |
[ci skip]
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, loading the schema (schema_load)
accesses the locking column (locking_column)
which defaults the value (reset_locking_column)
which invalidates the schema (reload_schema_from_cache)
which forces another schema load.
Good news:
The second schema_load does accesses locking_column,
but locking_column is set, so it does not reset_locking_column
and it does not trigger an infinite loop.
The solution is not invalidate the cache while default locking_column
|
| | |
|
|\ \
| | |
| | | |
Move remaining current_savepoint_name to savepoints module
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| | |
in the case of sqlite.
Others adapters need to perform a check for validity.
Add coverage for mysql2 db type validation
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Example:
create_table :users do |t|
t.string :name
t.index 'lower(name) varchar_pattern_ops'
end
Fixes #19090.
Fixes #21765.
Fixes #21819.
Fixes #24359.
Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
|
| |
| |
| |
| |
| |
| | |
There is no need to fetch all table indexes in remove_index if name is specified. If name is wrong, then StatementInvalid will be raised.
Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
- Rename max to statement_limit
- Remove magic number 1000 from everywhere
- Defined StatementPool::DEFAULT_STATEMENT_LIMIT and started using it everywhere
Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
|
| |
| |
| |
| |
| | |
Adapters override `#supports_savepoints?` to return `true` if they
support transaction savepoints. Defaults to `false`.
|
| |
| |
| |
| | |
[ci skip]
|
|\ \
| | |
| | |
| | | |
Add prepared statements support for `Mysql2Adapter`
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
kamipo/move_select_rows_implementation_to_super_class
Move `select_rows` implementation to super class
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Add `:nodoc:` to `insert_versions_sql` [ci skip]
|
| |/ / /
| | | |
| | | |
| | | | |
Follow up to #24685. `insert_versions_sql` is not public API.
|
|\ \ \ \
| | | | |
| | | | | |
Remove in the doc about MySQL versions below 5 [ci skip]
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Follow up to #23458.
Active Record supports MySQL >= 5.0 now.
|
|/ / /
| | |
| | |
| | | |
`IPAddr` is used in `OID::Cidr`.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure we handle explicitly passed nil's to lock_version as well.
An explicitly passed nil value is now converted to 0 on LockingType,
so that we don't end up with ActiveRecord::StaleObjectError in update record
optimistic locking
Fixes #24695
|
| | |
| | |
| | |
| | | |
Re. 6e098284e97250eaed6f30f5c7c362d87da986b0
|
|\ \ \
| | | |
| | | |
| | | | |
Gracefully fallback on version migrations for sqlite < 3.7.11
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
78 changed INSERT INTO versions to run in 1 single query.
This breaks for sqlite versions < 3.7.11, which is especially the case on Ubuntu 12.04 LTS, that has SQLite version 3.7.9 as default.
So we check for support for multi insert, before performing single query inserts, else fallback to older version of running multiple queries.
[Vipul A M & Yasuo Honda]
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the query cache completes, if Active Record is still inside of a
transaction, it is because the transaction is meant to be left open
above this unit of work (such as transactional fixtures in tests). There
were several tests around the behavior of "tests" that were invalid, as
tests are not run through the executor. They have been changed to
reflect the new behavior, which is closer to what actually occurs in
Rails tests.
Fixes #23989
Fixes #24491
Close #24500
|
|\ \ \
| | | |
| | | | |
Minor space bump.
|
| | | | |
|
| | | | |
|
| |/ /
|/| |
| | |
| | | |
Follow up to #24221.
|
|\ \ \
| | | |
| | | | |
create_join_table should work with uuid
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
kamipo/dump_indexes_in_create_for_generates_sql_in_one_query
Dump indexes in `create_table` for generates SQL in one query
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If the adapter supports indexes in create table, it generates SQL
in one query.
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | | |
Follow up to 1683410.
|