allow force-ordering hierarchy nodes hierarchically #5420
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes #5292
IFC-1025
the root cause of the RecursionError is a problem in how we calculate the hierarchy for nodes in a diff
if a hierarchical schema has
order_by
set, then the nodes returned from theNodeGetHierarchyQuery
will be returned according to thatorder_by
value. TheDiffHierarchyEnricher
expects the nodes returned byNodeGetHierarchyQuery
to be in their hierarchical order and, if they are in a different order, the results will be unexpected and can cause the diff to be illegally constructed with nodes referencing one another as their parentsthe solution in this PR is to add a new
hierarchical_ordering
parameter toNodeGetHierarchyQuery
and set that toTrue
inside ofDiffHierarchyEnricher