| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Improves the performance from O(n) to O(1).
Previously it would require 50 queries to
insert 50 fixtures. Now it takes only one query.
Disabled on sqlite which doesn't support multiple inserts.
|
|\
| |
| | |
Fix `Relation#exists?` queries with query cache
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
If a connection adapter overrides `select_*` methods, query caching will
doesn't work. This patch changes `select_value` to `select_one` in
`Relation#exists?` to ensure query caching.
Fixes #29449.
|
|\ \
| | |
| | | |
Prevent extra `scope` construction in `find_target`
|
| | |
| | |
| | |
| | | |
Because constructing `scope` is a little expensive.
|
|\ \ \
| | | |
| | | | |
Refactor #insert_fixtures to use Arel
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Add a test case for #28754
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A part for JSON was splitted from #28416 as #29273 and #29273 has
already been merged.
Closes #28754.
Closes #27588.
[Ryuta Kamizono & Bradley Priest]
|
|/ / /
| | |
| | |
| | |
| | | |
This debug print was added in 87f5e5e for finding the regression caused
by d314646 and the regression has already been fixed in 969339b.
|
|\ \ \
| | | |
| | | | |
Remove unused defined association
|
| | | |
| | | |
| | | |
| | | |
| | | | |
`belongs_to :developer` on `Comment` model was added in 431f8e0 but it
is unused.
|
|\ \ \ \
| | | | |
| | | | | |
Remove FK together with column in MySQL
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Unlike with other databses, MySQL doesn't let you remove the column
if there's a FK on this column.
For better developer experience we want to remove the FK together with
the column.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Raise on create for singular association when parent is unpersisted
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
A collection association will raise on `#create_association` when the parent is
unpersisted. A singular association should do the same. This addresses
issue #29219.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix `create_table` with query from relation
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | | |
If a relation has binds, `connection.to_sql(relation)` without binds
will generate invalid SQL. It should use `relation.to_sql` in that case.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Don't require 'unscope' to be the same on both sides of an 'or' relation
|
| | | | | | |
|
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`id` column in `subscribers` was added as a primary key for ignorable in
INSERT. But it caused `NotNullViolation` for oracle-enhanced adapter.
https://github.com/rsim/oracle-enhanced/issues/1357
I changed the column to nullable to address the issue.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Don't map id to primary key in raw_write_attribute
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The `raw_write_attribute` method is used to update a record's attributes
to reflect the new state of the database in `update_columns`. The hash
provided to `update_columns` is turned into an UPDATE query directly,
which means passing an `id` key results in an update to the `id` column,
even if the model uses a different attribute as its primary key. When
updating the record, we don't want to apply the `id` column change to
the primary key attribute, since that's not what happened in the query.
Without the code to handle this case, `write_attribute_with_type_cast`
no longer contains any logic shared between `raw_write_attribute` and
`write_attribute`, so we can inline the code into those two methods.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
kamipo/fix_dump_schema_information_with_empty_versions
Fix `dump_schema_information` with empty versions
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fixes #29460.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Add test cases for #28274
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`object.id` is correctly restored since #29378 has merged.
Closes #28274, Closes #28395.
[Ryuta Kamizono & Eugene Kenny]
|
| |/ / /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
Allow `uuid_test.rb` to be loaded on all adapters
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Running `bin/test` from the activerecord directory produces this error:
test/cases/adapters/postgresql/uuid_test.rb:43:in `<class:PostgresqlUUIDTest>': undefined method `supports_pgcrypto_uuid?' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x007fc405e72a68> (NoMethodError)
The test only actually runs on the PostgreSQL adapter; we can avoid
triggering the error on other adapters with this `respond_to?` guard.
|
| |/ /
|/| |
| | |
| | |
| | | |
`sync_with_transaction_state` in `to_key` is unneeded because `id` also
does.
|
|\ \ \
| | | |
| | | | |
Avoid overwriting the methods of `AttributeMethods::PrimaryKey`
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently the methods of `AttributeMethods::PrimaryKey` are overwritten
by `define_attribute_methods`. It will be broken if a table that
customized primary key has non primary key id column.
It should not be overwritten if a table has any primary key.
Fixes #29350.
|
| | | |
|
| |/
|/| |
|
|/
|
|
| |
This option was added in b9fa354. But it does not seem to work.
|
|\
| |
| | |
PostgreSQL 10 converts unknown type to text type
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Rename test cases from `unknown` to `unrecognized` since unknown OID
is one of possible unrecognized types by Rails
- Use "select 'pg_catalog.pg_class'::regclass" whose OID is 2205, which
will not be converted to recognized type in PostgreSQL 10.
activerecord_unittest=# select oid, typname from pg_type where oid in (2205, 2277);
oid | typname
------+----------
2205 | regclass
2277 | anyarray
(2 rows)
Addresses #28868
|
|\ \
| | |
| | | |
Remove redundant `assert_nothing_raised` before another assertions
|
| | |
| | |
| | |
| | | |
These `assert_nothing_raised` are covered by following assertions.
|
| |/
|/| |
|
|/ |
|
|
|
|
|
| |
`ReservedWordTest` expects that any identifiers are quoted properly.
It should be tested for all adapters.
|
|\
| |
| | |
Remove assert_nothing_raised, as test is already testing the required concerns
|
| | |
|
| |
| |
| |
| |
| | |
load_schema! is overridden by attribute modules, so we need to wait
until it has returned.
|
|\ \
| |/
|/| |
Introduce mattr_accessor default option
|
| | |
|
|/ |
|