diff --git a/datafusion/physical-plan/src/memory.rs b/datafusion/physical-plan/src/memory.rs index ae878fdab37b..1bc872a56e76 100644 --- a/datafusion/physical-plan/src/memory.rs +++ b/datafusion/physical-plan/src/memory.rs @@ -193,8 +193,17 @@ impl DisplayAs for LazyMemoryExec { ) } DisplayFormatType::TreeRender => { - // TODO: collect info - write!(f, "") + //TODO: remove batch_size, add one line per generator + writeln!( + f, + "batch_generators={}", + self.batch_generators + .iter() + .map(|g| g.read().to_string()) + .collect::>() + .join(", ") + )?; + Ok(()) } } } diff --git a/datafusion/sqllogictest/test_files/explain_tree.slt b/datafusion/sqllogictest/test_files/explain_tree.slt index bafc4d559b80..e61fbf90cde6 100644 --- a/datafusion/sqllogictest/test_files/explain_tree.slt +++ b/datafusion/sqllogictest/test_files/explain_tree.slt @@ -725,7 +725,12 @@ physical_plan 32)└─────────────┬─────────────┘ 33)┌─────────────┴─────────────┐ 34)│ LazyMemoryExec │ -35)└───────────────────────────┘ +35)│ -------------------- │ +36)│ batch_generators: │ +37)│ generate_series: start=1, │ +38)│ end=1000, batch_size │ +39)│ =8192 │ +40)└───────────────────────────┘ query TT explain select @@ -1641,3 +1646,16 @@ physical_plan 08)│ format: memory │ 09)│ rows: 1 │ 10)└───────────────────────────┘ + +# Test explain tree for LazyMemoryExec +query TT +EXPLAIN SELECT * FROM generate_series(1, 100) +---- +physical_plan +01)┌───────────────────────────┐ +02)│ LazyMemoryExec │ +03)│ -------------------- │ +04)│ batch_generators: │ +05)│ generate_series: start=1, │ +06)│ end=100, batch_size=8192 │ +07)└───────────────────────────┘