| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
bit column in Postgresql, because solving ambiguity.
|
| |
|
| |
|
|
|
|
| |
[ci skip]
|
|\
| |
| |
| |
| |
| |
| | |
Statement cache
Conflicts:
activerecord/CHANGELOG.md
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #3002. Also see #5494.
```
class Comment < ActiveRecord::Base
belongs_to :post
end
class Author < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
belongs_to :author
has_many :comments
end
```
`Comment.joins(:post).merge(Post.joins(:author).merge(Author.where(:name => "Joe Blogs"))).all` would
fail with `ActiveRecord::ConfigurationError: Association named 'author' was not found on Comment`.
It is failing because `all` is being called on relation which looks like this after all the merging:
`{:joins=>[:post, :author], :where=>[#<Arel::Nodes::Equality: ....}`. In this relation all the context that
`Post` was joined with `Author` is lost and hence the error that `author` was not found on `Comment`.
Ths solution is to build JoinAssociation when two relations with join information are being merged. And later
while building the arel use the previously built `JoinAssociation` record in `JoinDependency#graft` to
build the right from clause.
Thanks to Jared Armstrong (https://github.com/armstrjare) for most of the work. I ported it to make it
compatible with new code base.
|
| | |
|
| |
| |
| |
| | |
See #10107.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Correctly parse bigint defaults in PostgreSQL
Conflicts:
activerecord/CHANGELOG.md
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Association with inverse_of does not set the parent in association building block
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes inconsistency when building children of association
which has inverse_of set properly.
When creating new association object with a block:
parent.association.build do |child|
child.parent.equal?(parent) # false
end
So the block the `child.parent` did not point to the same object.
But when the object is created it points to same instance:
child = parent.association.build
child.parent.equal?(parent) # true
|
| | |
| | |
| | |
| | | |
fixes #10016
|
| | | |
|
|\ \ \
| | | |
| | | | |
belongs_to :touch should touch old record when transitioning.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Firebird/Sqlserver/Oracle database tasks.
|
| |/ /
|/| | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
respect auto_increment in rename_column for mysql
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds support for algorithm option in MySQL indexes
Moves USING and algorithm options upstream
The syntax is still specific to the Adapter, so the actual executed string happens
in the corresponding adapter
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix some typos in AR- CHANGELOG, tests, method doc. fixed
|
| | | | |
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | | |
if the association already holds that record in memory before checking
the database for the specified ids.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Closes #8079.
I had to rework some of the tests because the mock allowed any arguments
for `connection.exeucte`. I think this is very dangerous as there could
anything be executed without the tests noticing it.
|
| | |
| | |
| | |
| | |
| | |
| | | |
"utf8mb4"
Please, see rationale in the included CHANGELOG patch.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
the primary key on an association will make sure that the corresponding
counter on the association is changed properly. Fixes #9722.
|
| | |
| | |
| | |
| | | |
Closes #9712.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We moved more and more away from passing options to finder / calculation
methods. The `:distinct` option in `#count` was one of the remaining places.
Since we can now combine `Relation#distinct` with `Relation#count` the option
is no longer necessary and can be deprecated.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
The similarity of `Relation#uniq` to `Array#uniq` is confusing. Since our
Relation API is close to SQL terms I renamed `#uniq` to `#distinct`.
There is no deprecation. `#uniq` and `#uniq!` are aliases and will continue
to work. I also updated the documentation to promote the use of `#distinct`.
|
| | |
|
| |
| |
| |
| | |
To make quote escape binary data correctly it needs the column passed in.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Uniqueness validation uses a proc to specify the `:conditions` option.
This is a follow up to #5321 and follows the general direction in
AR to make things lazy evaluated.
|
| | |
| | |
| | |
| | |
| | | |
This is a follow up to #5321 and follows the general direction in
AR to make things lazy evaluated.
|
|/ / |
|
| |
| |
| |
| |
| | |
This allows end-users to have a `connection` method on their models
without clashing with ActiveRecord internals.
|