Commits


David Li authored and Neal Richardson committed 80e0e3005ad
ARROW-13785: [C++] Add methods to print exec nodes/plans Example output: ``` ExecPlan with 6 nodes: SourceNode{"source", outputs=["filter"]} FilterNode{"filter", inputs=[target: "source"], outputs=["project"], filter=(i32 >= 0)} ProjectNode{"project", inputs=[target: "filter"], outputs=["aggregate"], projection=[bool, multiply(i32, 2)]} GroupByNode{"aggregate", inputs=[groupby: "project"], outputs=["filter"], keys=["bool"], aggregates=[ hash_sum(multiply(i32, 2)), hash_count(multiply(i32, 2), {mode=NON_NULL}), ]} FilterNode{"filter", inputs=[target: "aggregate"], outputs=["order_by_sink"], filter=(sum(multiply(i32, 2)) > 10)} OrderBySinkNode{"order_by_sink", inputs=[collected: "filter"], by={sort_keys=[sum(multiply(i32, 2)) ASC]}} ``` This prints nodes in the order of the topological sort. Since this is a graph and not necessarily a tree, I didn't try to indent the nodes themselves or anything. Closes #11068 from lidavidm/arrow-13785 Authored-by: David Li <li.davidm96@gmail.com> Signed-off-by: Neal Richardson <neal.p.richardson@gmail.com>