Group.limit(5).joins(:group_members) adds a duplicate WHERE condition

This code:

puts Group.limit(5).joins(:group_members).to_sql

Produces the following query:

SELECT  "namespaces".* 
FROM "namespaces" 
INNER JOIN "members" ON "members"."source_id" = "namespaces"."id" 
AND "members"."type" IN ('GroupMember') 
AND "members"."requested_at" IS NULL 
AND "members"."source_type" = 'Namespace'
AND "members"."source_type" = 'Namespace' 
WHERE "namespaces"."deleted_at" IS NULL 
AND "namespaces"."type" IN ('Group')  
ORDER BY "namespaces"."id" DESC LIMIT 5

Here the condition members.source_type = 'Namespace' is duplicated.

Edited Oct 12, 2020 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading