Operations like manipulation and traversal of the plan DAG are re-implemented multiple times, adding unnecessary code repetition and introducing possible source of bugs as many of these implementations are not unit tested. This create an internal DAG module with shared functionality to use across the library.
This PR also refactors the rest of the code to use the new DAG module.
Operations like manipulation and traversal of the plan DAG are re-implemented multiple times, adding unnecessary code repetition and introducing possible source of bugs as many of these implementations are not unit tested. This create an internal DAG module with shared functionality to use across the library.
This PR also refactors the rest of the code to use the new DAG module.
Change-type: minor