Fix Visual Explain view crashing on multi-parents nodes #489
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.
Description
Fixes #423
This PR fixes an issue making the Visual Explain treeview crash as described in #423.
The logic used to link nodes with each others was flawed as it did not use the
child nodeinformation returned by Visual Explain. This could work as long as each node had one and only one parent. But if one or more nodes have multiple parents, it would crash.With this PR, nodes are linked together using the children node ids returned by Visual Explain.
How to test
Run
Explain(without running is fine) using a query producing a graph with nodes having multiple parents, like the one provided in #423:Before the PR, the VE view would show the

this.flatNodes[node.id] is not iterableerror.With the PR applied, the graph must be displayed correctly.