A traversal that collects cascading binary unions into a single n-ary union operator.
This traversal of the optimizer DAG computes the information needed to track branches and joins in the data flow.
This traversal creates the optimizer DAG from a program.
This traversal of the optimizer DAG assigns IDs to each node (in a pre-order fashion), and calls each node to compute its estimates.
Visitor that computes the interesting properties for each node in the optimizer DAG.
This visitor traverses the selected execution plan and finalizes it: The graph of nodes is double-linked (links from child to parent are inserted). If unions join static and dynamic paths, the cache is marked as a memory consumer. Relative memory fractions are assigned to all nodes. All nodes are collected into a set.
A traversal that goes over the program data flow of an iteration and makes the nodes that depend on the partial solution (the data set recomputed in each iteration) as "dynamic" and the other nodes as "static".
A traversal that checks if the Workset of a delta iteration is used in the data flow of its step function.
Enforces that all union nodes have the same parallelism as their successor (there must be only one!) and that the union node and its successor are connected by a forward ship strategy.
Visitorthat traversed the program flow.
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.