diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2019-05-19 19:13:33 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2019-05-19 19:43:25 +0900 |
commit | 7412b7f8a6a2634548671c8ca16941796fac87c4 (patch) | |
tree | 662c954df87907035f999b0d11e5417a18653f36 /guides/source | |
parent | 339be65d669c83fd4c64541a9e82086dc5e64682 (diff) | |
download | rails-7412b7f8a6a2634548671c8ca16941796fac87c4.tar.gz rails-7412b7f8a6a2634548671c8ca16941796fac87c4.tar.bz2 rails-7412b7f8a6a2634548671c8ca16941796fac87c4.zip |
Implicit through table joins should be appeared before user supplied joins
#36293 was an issue for through association with `joins` for a long
time, but since #35864 through association with `left_joins` would also
be affected by the issue.
Implicit through table joins should be appeared before user supplied
joins, otherwise loading through association with joins will cause a
statement invalid error.
Fixes #36293.
```
% ARCONN=postgresql bundle exec ruby -w -Itest test/cases/associations/has_many_through_associations_test
.rb -n test_through_association_with_joins
Using postgresql
Run options: -n test_through_association_with_joins --seed 7116
# Running:
E
Error:
HasManyThroughAssociationsTest#test_through_association_with_joins:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: missing FROM-clause entry for table "posts"
LINE 1: ... "comments_posts" ON "comments_posts"."post_id" = "posts"."i...
^
: SELECT "comments".* FROM "comments" INNER JOIN "comments" "comments_posts" ON "comments_posts"."post_id" = "posts"."id" INNER JOIN "posts" ON "comments"."post_id" = "posts"."id" WHERE "posts"."author_id" = $1
rails test test/cases/associations/has_many_through_associations_test.rb:61
Finished in 0.388657s, 2.5730 runs/s, 0.0000 assertions/s.
1 runs, 0 assertions, 0 failures, 1 errors, 0 skips
```
Diffstat (limited to 'guides/source')
0 files changed, 0 insertions, 0 deletions