Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
Description
For ARROW-9653, I was trying to debug the execution plan and I would have found it easier if there had been a way to display the execution plan to better understand and isolate the issue. This would also be nice to have as part of EXPLAIN plan functionality in ARROW-9654
In general, for debugging purposes, we would like to be able to dump out an execution plan. To do so in the idiomatic rust way, we should require that `ExecutionPlan` also implement `std::fmt::Debug`
Here is an example plan for "SELECT c1, c2, MIN(c3) FROM aggregate_test_100 GROUP BY c1, c2"
physical plan is HashAggregateExec { group_expr: [ Column { name: "c1", }, Column { name: "c2", }, ], aggr_expr: [ Min { expr: Column { name: "c3", }, }, ], input: DataSourceExec { schema: Schema { fields: [ Field { name: "c1", data_type: Utf8, nullable: false, dict_id: 0, dict_is_ordered: false, }, Field { name: "c2", data_type: UInt32, nullable: false, dict_id: 0, dict_is_ordered: false, }, Field { name: "c3", data_type: Int8, nullable: false, dict_id: 0, dict_is_ordered: false, }, ], metadata: {}, }, partitions.len: 1, }, schema: Schema { fields: [ Field { name: "c1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, }, Field { name: "c2", data_type: UInt32, nullable: true, dict_id: 0, dict_is_ordered: false, }, Field { name: "MIN(c3)", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, }, ], metadata: {}, }, }
Attachments
Issue Links
- links to