class LinkedItem < ActiveRecord::Base
belongs_to :parent, class_name: 'LinkedItem', foreign_key: :parent_id
default_scope -> { order('name ASC') }
end
When trying to build hierarchical query against this model
Builder applied default scope to recursive part of recursive query
which lead to invalid SQL queries:
SELECT "linked_items".* FROM "linked_items" INNER JOIN (WITH RECURSIVE "linked_items__recursive" AS ( SELECT "linked_items"."id", "linked_items"."parent_id" FROM "linked_items" WHERE "linked_items"."id" = $1 UNION ALL SELECT "linked_items"."id", "linked_items"."parent_id" FROM "linked_items" INNER JOIN "linked_items__recursive" ON "linked_items__recursive"."parent_id" = "linked_items"."id" ORDER BY name ASC ) SELECT "linked_items__recursive".* FROM "linked_items__recursive") AS "linked_items__recursive" ON "linked_items"."id" = "linked_items__recursive"."id"
This commit removes any default ordering when applying default scope to
CTE terms.
Given a model with default scope:
When trying to build hierarchical query against this model Builder applied default scope to recursive part of recursive query which lead to invalid SQL queries:
This commit removes any default ordering when applying default scope to CTE terms.