| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
of using +inverse_of: false+ option. Changing the documentation and
adding a CHANGELOG entry for the automatic inverse detection feature.
|
|
|
|
|
|
|
|
|
| |
This reverts commit 257fa6897d9c85da16b7c9fcb4ae3008198d320e, reversing
changes made to 94725b81f5588e4b0f43222c4f142c3135941b4b.
The build failed
https://travis-ci.org/rails/rails/builds/7883546
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an SQL improvement to ActiveRecord::Relation#blank?. Currently,
it calls `to_a` on the Relation, which loads all records in the
association, and calls `blank?` on the loaded Array. There are other
ways, however, to check the emptiness of an association that are far
more performant. `#empty?`, `#exists?` and `#any?` all attach a `LIMIT
1` to the SQL query before firing it off, which is a nice query
improvement. `#blank?` should do the same!
Bonus performance improvements will also happen for `#present?`, which
merely calls the negation of `#blank?`
Signed-off-by: David Celis <me@davidcel.is>
|
|\
| |
| | |
Rather than raising ThrowResult when construct_limited_ids_conditions comes up empty, set the relation to NullRelation and rely on its results.
|
| |
| |
| |
| |
| |
| | |
up empty, set the relation to NullRelation and rely on its results.
This will help avoid errors like 2fcafee250ee2, because in most cases NullRelation will do the right thing. Minor bonus is avoiding the use of exceptions for flow control.
|
| |
| |
| |
| | |
#calculate(:count)
|
| | |
|
| |
| |
| |
| | |
table's columns.
|
| |
| |
| |
| | |
failing to construct_limited_ids_condition.
|
| | |
|
|\ \
| | |
| | | |
Fixes #10432 add_column not creating array columns in PostgreSQL
|
| | |
| | |
| | |
| | |
| | |
| | | |
When then PostgreSQL visitor was [added](https://github.com/rails/rails/commit/6b7fdf3bf3675a14eae74acc5241089308153a34)
`add_column` was no longer receiving the column options directly. This
caused the options to be lost along the way.
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| |
| |
| | |
Conflicts:
activerecord/test/cases/adapters/postgresql/bytea_test.rb
|
| |
| |
| |
| |
| |
| |
| |
| | |
This behaviour doesn't actually make sense, the context of
the child should not be affected by the parent. See #10492.
This reverts commit 5f8274efe128ffeec8fa3179460f5167a078f007, reversing
changes made to 81e837e810460d066a2e5fc5a795366ec8ab2313.
|
|\ \
| | |
| | | |
No need to load 'rake/packagetask' as it's already in 'rubygems/package_task'
|
| | |
| | |
| | |
| | |
| | | |
in 'rubygems/package_task'
|
|\ \ \
| |/ /
|/| | |
wonderfull => wonderful
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
because this was deprecated.
Some testcases is failed, so I replaced nil to empty hash in add_reference.
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Inspect uses double quotes.
* Inspect puts a hash as in #<User ...>.
* Documents the return value, and makes explicit it can be an invalid record.
* Documents the method is not atomic.
* Documents a way to handle UNIQUE contraint violations in the event of a race condition.
* Removes the "Examples" header according to our guidelines.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* It is no longer true that options are passed to find.
* Documents that ActiveRecord::RecordNotFound may be raised.
* Documents that the reload happens in-place.
* Documents that caches are wiped.
* Documents that the method returns self.
* Documents a couple of use cases.
|
| | |
|
|\ \
| | |
| | | |
Use grep instead of select with === in QueryMethods
|
| | |
| | |
| | |
| | | |
pass block directly to grep
|
|\ \ \
| | | |
| | | | |
Minor refactor of ActiveRecord::SchemaMigration
|
| |/ /
| | |
| | |
| | | |
Base, override table_exists method, and switch to preferred style for class method definitions.
|
|\ \ \
| | | |
| | | | |
PostgreSQL specific test cleanup
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
Fix the `:primary_key` option for `has_many` associations.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When removing records from a `has_many` association it used
the `primary_key` defined on the association.
Our test suite didn't fail because on all occurences of `:primary_key`,
the specified column was available in both tables. This prevented the
code from raising an exception but it still behaved badly.
I added a test-case to prevent regressions that failed with:
```
1) Error:
HasManyAssociationsTest#test_has_many_assignment_with_custom_primary_key:
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: essays.first_name: UPDATE "essays" SET "writer_id" = NULL WHERE "essays"."writer_id" = ? AND "essays"."first_name" IS NULL
```
|
|/ / /
| | |
| | |
| | | |
their setup in their constructor now.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Extract tests code out from AR's base_test.rb
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The method got extracted out from AR::Base in commit
d916c62cfc7c59ab6411407a05b946d3dd7535e9, but the tests never did.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
base_test.rb
The method itself got extracted out from ActiveRecored::Base in commit
ceb33f84933639d3b61aac62e5e71fd087ab65ed, but the test code never did.
|