Skip to content

Support recursive _include:iterate and _revinclude:iterate queries #1310

@limorl

Description

@limorl

User story
As a user, I want to recursively iterate results so that there's no need to use multiple _include/_revinclude search parameters in order to iterate circular references.

According to the spec, recursive calls allow recursively iterating over circular references.
For example:

The recursive implementation can be handled similarly. to the way multiple result sets are implemented, using a recursive call to the Visit and writing the include limit cte.

Acceptance criteria

  1. When I do _include/_revinclude:iterate on circular references, the results are included recursively and the correct results are returned. The search parameter can be at any part of the search query.
  2. The recursion depth is limited to avoid performance issues
  3. Each recursive iteration result should be limited by a configurable MaxCount (preferably, use the same Include limit)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions