| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \ \
| | | | | |
| | | | | | |
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
|
| | |
|
|/ |
|
| |
|
|\
| |
| |
| |
| | |
Nerian/document_support_for_composite_primary_keys
Document support for composite primary keys
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
kamipo/prevent_making_bind_param_if_casted_value_is_nil
Prevent making bind param if casted value is nil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If casted value is nil, generated SQL should be `IS NULL`. But currently
it is generated as `= NULL`. To prevent this behavior, avoid making bind
param if casted value is nil.
Fixes #28945.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Correct a has_many association test
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
In `test_schema_dump_includes_limit_constraint_for_integer_columns`,
unified `assert_match` and `assert_no_match` to simple regex.
|
|\ \ \ \
| | | | |
| | | | | |
Consolidate database specific JSON types to `Type::Json`
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix `default_scoped` with defined `default_scope` on STI model
|
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This regression is caused by d1249c1.
If STI model is defined `default_scope`, `base_rel` is not respected.
I fixed to merge `base_rel` in that case.
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Follow up of #29077.
Before:
```sql
SELECT sql FROM sqlite_master WHERE tbl_name NOT IN ("foo") ORDER BY tbl_name, type DESC, name
```
After:
```sql
SELECT sql FROM sqlite_master WHERE tbl_name NOT IN ('foo') ORDER BY tbl_name, type DESC, name
```
> If a keyword in double quotes (ex: "key" or "glob") is used in a
context where it cannot be resolved to an identifier but where a string
literal is allowed, then the token is understood to be a string literal
instead of an identifier.
http://www.sqlite.org/lang_keywords.html
|
|\ \ \ \
| | | | |
| | | | | |
Extract `NumericData` model for tests
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`attribute :world_population, :integer` is not a same with default
decimal without scale type unless #26302 is merged.
Should be `attribute :world_population, :big_integer` for now.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
To ease to find the numeric data tests, extract `NumericDataTest` to
`test/cases/numeric_data_test.rb` dedicated file.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Currently `NumericData` model is defined some places.
|
| |/ / /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
Remove a redundant test case of HABTM_associations_test
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | | |
kamipo/dont_expose_methods_and_attrs_for_internal_usage
Don't expose methods and attrs for internal usage
|