You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat: make it user configurable to display plans as tree renderer #1627
let config = SessionConfig::new_with_ballista()
.set_str("ballista.explain.plan_format", "tree")...
or from SQL:
SET ballista.explain.plan_format = 'tree';
The first option seems nicer from a user-facing SQL perspective, while the second one may be smaller to introduce on the Ballista side. I’d be curious what the community prefers here.
Hey @milenkovicm when I was working on this, I realize that DF side missed the proto support for format field, we can adopt some workaround on our end, but maybe add support on DF will be better in the long run. Make a draft PR for this apache/datafusion#21994, appreciate if you could take a look when you have time, thanks!
Activity
milenkovicm commentedon Apr 30, 2026
cc @sandugood if you're interested
sandugood commentedon Apr 30, 2026
take
milenkovicm commentedon Apr 30, 2026
Cc @martin-g i guess it should not make problems on TUI
martin-g commentedon Apr 30, 2026
with a query parameter ?!
sandugood commentedon Apr 30, 2026
I think query parameter seems good for this
something like:
api/job/8Am4heu?plan_format=treemilenkovicm commentedon Apr 30, 2026
I have no preference, query parameter looks like good option. You have other preference?
milenkovicm commentedon Apr 30, 2026
Cc @danielhumanmod now we have explain and analyse maybe we could support tree renderer there as well?
danielhumanmod commentedon May 1, 2026
Yeah, that sounds like a good improvement.
One thing I am thinking is how users should request the tree format for
EXPLAIN/EXPLAIN ANALYZE.One option is to extend the SQL syntax, for example:
Another option is to use a session config:
The first option seems nicer from a user-facing SQL perspective, while the second one may be smaller to introduce on the Ballista side. I’d be curious what the community prefers here.
milenkovicm commentedon May 1, 2026
@danielhumanmod current datafusion behaviour
https://datafusion.apache.org/user-guide/sql/explain.html
danielhumanmod commentedon May 1, 2026
thanks for the information, very helpful. Didn't catch this doc at the first place🙏
danielhumanmod commentedon May 3, 2026
Hey @milenkovicm when I was working on this, I realize that DF side missed the proto support for
formatfield, we can adopt some workaround on our end, but maybe add support on DF will be better in the long run. Make a draft PR for this apache/datafusion#21994, appreciate if you could take a look when you have time, thanks!feat: Add Protobuf support for Explain node (apache#21994)
milenkovicm commentedon May 11, 2026
apache/datafusion#21768 more things coming to
EXPLAINcc @danielhumanmodmartin-g commentedon May 18, 2026
Is there anything more to be done here ?
milenkovicm commentedon May 18, 2026
Yes, there is part needed on plans which can't be done before df 54
adriangb commentedon May 28, 2026
I think now that we cut the release branch we can make some breaking changes to the proto if needed?
milenkovicm commentedon May 28, 2026
please do @adriangb, its related to #21768 , is it ?