From f817946cfe102070cd3d1f35f47bab288016c727 Mon Sep 17 00:00:00 2001 From: George Wang Date: Sun, 13 Nov 2022 23:41:35 -0800 Subject: [PATCH] Add estimates to graphviz of the plan --- .../java/com/facebook/presto/sql/analyzer/QueryExplainer.java | 2 +- .../facebook/presto/sql/planner/planPrinter/PlanPrinter.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/presto-main/src/main/java/com/facebook/presto/sql/analyzer/QueryExplainer.java b/presto-main/src/main/java/com/facebook/presto/sql/analyzer/QueryExplainer.java index 28fe99ef26176..ab2fe78040751 100644 --- a/presto-main/src/main/java/com/facebook/presto/sql/analyzer/QueryExplainer.java +++ b/presto-main/src/main/java/com/facebook/presto/sql/analyzer/QueryExplainer.java @@ -153,7 +153,7 @@ public String getGraphvizPlan(Session session, Statement statement, Type planTyp switch (planType) { case LOGICAL: Plan plan = getLogicalPlan(session, statement, parameters, warningCollector); - return graphvizLogicalPlan(plan.getRoot(), plan.getTypes(), session, metadata.getFunctionAndTypeManager()); + return graphvizLogicalPlan(plan.getRoot(), plan.getTypes(), plan.getStatsAndCosts(), session, metadata.getFunctionAndTypeManager()); case DISTRIBUTED: SubPlan subPlan = getDistributedPlan(session, statement, parameters, warningCollector); return graphvizDistributedPlan(subPlan, session, metadata.getFunctionAndTypeManager()); diff --git a/presto-main/src/main/java/com/facebook/presto/sql/planner/planPrinter/PlanPrinter.java b/presto-main/src/main/java/com/facebook/presto/sql/planner/planPrinter/PlanPrinter.java index 4616567985a6c..b60acfbba790c 100644 --- a/presto-main/src/main/java/com/facebook/presto/sql/planner/planPrinter/PlanPrinter.java +++ b/presto-main/src/main/java/com/facebook/presto/sql/planner/planPrinter/PlanPrinter.java @@ -417,7 +417,7 @@ private static String formatFragment( return builder.toString(); } - public static String graphvizLogicalPlan(PlanNode plan, TypeProvider types, Session session, FunctionAndTypeManager functionAndTypeManager) + public static String graphvizLogicalPlan(PlanNode plan, TypeProvider types, StatsAndCosts estimatedStatsAndCosts, Session session, FunctionAndTypeManager functionAndTypeManager) { // TODO: This should move to something like GraphvizRenderer PlanFragment fragment = new PlanFragment( @@ -429,7 +429,7 @@ public static String graphvizLogicalPlan(PlanNode plan, TypeProvider types, Sess new PartitioningScheme(Partitioning.create(SINGLE_DISTRIBUTION, ImmutableList.of()), plan.getOutputVariables()), StageExecutionDescriptor.ungroupedExecution(), false, - StatsAndCosts.empty(), + estimatedStatsAndCosts, Optional.empty()); return GraphvizPrinter.printLogical(ImmutableList.of(fragment), session, functionAndTypeManager); }