[
https://issues.apache.org/jira/browse/CALCITE-4737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17460648#comment-17460648
]
Ruben Q L commented on CALCITE-4737:
------------------------------------
In {{org/apache/calcite/config/CalciteSystemProperty.java}} there seems to be
already some properties that control what to be displayed by Volcano planner:
{code}
/**
* Whether to include a GraphViz representation when dumping the state of the
Volcano planner.
*/
public static final CalciteSystemProperty<Boolean> DUMP_GRAPHVIZ =
booleanProperty("calcite.volcano.dump.graphviz", true);
/**
* Whether to include <code>RelSet</code> information when dumping the state
of the Volcano planner.
*/
public static final CalciteSystemProperty<Boolean> DUMP_SETS =
booleanProperty("calcite.volcano.dump.sets", true);
{code}
These properties are used by {{VolcanoPlanner#dump}} (called when
{{LOGGER.isTraceEnabled()}} or in case of a {{CannotPlanException}}).
What about adding a new property in {{CalciteSystemProperty.java}}, e.g.
something like:
{code}
public static final CalciteSystemProperty<Boolean> DUMP_HTMLGRAPHVIZ =
booleanProperty("calcite.volcano.dump.htmlgraphviz", false);
{code}
Together with other necessary properties (e.g. default output directory,
filename prefix, etc). And take it into consideration in
{{VolcanoPlanner#dump}}. Then Calcite clients could disable the "traditional"
graphviz and enable the new visualizer (or enable both, or neither) as they
wish.
What do you think, [~thomas.rebele] et al?
> Add Volcano visualizer for debugging
> ------------------------------------
>
> Key: CALCITE-4737
> URL: https://issues.apache.org/jira/browse/CALCITE-4737
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Thomas Rebele
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.29.0
>
> Time Spent: 7h 40m
> Remaining Estimate: 0h
>
> Add Volcano visualizer for debugging.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)