Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,6 @@

import static com.google.inject.multibindings.MapBinder.newMapBinder;
import static com.google.inject.multibindings.Multibinder.newSetBinder;
import static com.google.inject.multibindings.OptionalBinder.newOptionalBinder;
import static io.airlift.concurrent.Threads.daemonThreadsNamed;
import static io.airlift.concurrent.Threads.threadsNamed;
import static io.airlift.configuration.ConditionalModule.conditionalModule;
Expand Down Expand Up @@ -269,8 +268,7 @@ protected void setup(Binder binder)

// planner
binder.bind(PlanFragmenter.class).in(Scopes.SINGLETON);
newOptionalBinder(binder, PlanOptimizersFactory.class)
.setDefault().to(PlanOptimizers.class).in(Scopes.SINGLETON);
binder.bind(PlanOptimizersFactory.class).to(PlanOptimizers.class).in(Scopes.SINGLETON);

// Optimizer/Rule Stats exporter
binder.bind(RuleStatsRecorder.class).in(Scopes.SINGLETON);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,6 @@
import io.trino.sql.planner.PlanFragmenter;
import io.trino.sql.planner.PlanNodeIdAllocator;
import io.trino.sql.planner.PlanOptimizers;
import io.trino.sql.planner.PlanOptimizersFactory;
import io.trino.sql.planner.RuleStatsRecorder;
import io.trino.sql.planner.SubPlan;
import io.trino.sql.planner.TypeAnalyzer;
Expand Down Expand Up @@ -299,7 +298,6 @@ public class LocalQueryRunner
private final boolean alwaysRevokeMemory;
private final NodeSpillConfig nodeSpillConfig;
private final OptimizerConfig optimizerConfig;
private final PlanOptimizersProvider planOptimizersProvider;
private final OperatorFactories operatorFactories;
private final StatementAnalyzerFactory statementAnalyzerFactory;
private boolean printPlan;
Expand All @@ -325,7 +323,6 @@ private LocalQueryRunner(
boolean alwaysRevokeMemory,
int nodeCountForStats,
Map<String, List<PropertyMetadata<?>>> defaultSessionProperties,
PlanOptimizersProvider planOptimizersProvider,
MetadataProvider metadataProvider,
OperatorFactories operatorFactories,
Set<SystemSessionPropertiesProvider> extraSessionProperties)
Expand All @@ -336,7 +333,6 @@ private LocalQueryRunner(

this.taskManagerConfig = new TaskManagerConfig().setTaskConcurrency(4);
this.nodeSpillConfig = requireNonNull(nodeSpillConfig, "nodeSpillConfig is null");
this.planOptimizersProvider = requireNonNull(planOptimizersProvider, "planOptimizersProvider is null");
this.operatorFactories = requireNonNull(operatorFactories, "operatorFactories is null");
this.alwaysRevokeMemory = alwaysRevokeMemory;
this.notificationExecutor = newCachedThreadPool(daemonThreadsNamed("local-query-runner-executor-%s"));
Expand Down Expand Up @@ -1040,7 +1036,7 @@ public Plan createPlan(Session session, @Language("SQL") String sql, LogicalPlan

public List<PlanOptimizer> getPlanOptimizers(boolean forceSingleNode)
{
return planOptimizersProvider.getPlanOptimizers(
return new PlanOptimizers(
plannerContext,
new TypeAnalyzer(plannerContext, statementAnalyzerFactory),
taskManagerConfig,
Expand Down Expand Up @@ -1136,25 +1132,6 @@ private static List<TableScanNode> findTableScanNodes(PlanNode node)
.findAll();
}

public interface PlanOptimizersProvider
{
PlanOptimizersFactory getPlanOptimizers(
PlannerContext plannerContext,
TypeAnalyzer typeAnalyzer,
TaskManagerConfig taskManagerConfig,
boolean forceSingleNode,
SplitManager splitManager,
PageSourceManager pageSourceManager,
StatsCalculator statsCalculator,
ScalarStatsCalculator scalarStatsCalculator,
CostCalculator costCalculator,
CostCalculator estimatedExchangesCostCalculator,
CostComparator costComparator,
TaskCountEstimator taskCountEstimator,
NodePartitioningManager nodePartitioningManager,
RuleStatsRecorder ruleStats);
}

public interface MetadataProvider
{
Metadata getMetadata(
Expand All @@ -1174,7 +1151,6 @@ public static class Builder
private Map<String, List<PropertyMetadata<?>>> defaultSessionProperties = ImmutableMap.of();
private Set<SystemSessionPropertiesProvider> extraSessionProperties = ImmutableSet.of();
private int nodeCountForStats;
private PlanOptimizersProvider planOptimizersProvider = PlanOptimizers::new;
private MetadataProvider metadataProvider = MetadataManager::new;
private OperatorFactories operatorFactories = new TrinoOperatorFactories();

Expand Down Expand Up @@ -1219,12 +1195,6 @@ public Builder withNodeCountForStats(int nodeCountForStats)
return this;
}

public Builder withPlanOptimizersProvider(PlanOptimizersProvider planOptimizersProvider)
{
this.planOptimizersProvider = requireNonNull(planOptimizersProvider, "planOptimizersProvider is null");
return this;
}

public Builder withMetadataProvider(MetadataProvider metadataProvider)
{
this.metadataProvider = metadataProvider;
Expand Down Expand Up @@ -1258,7 +1228,6 @@ public LocalQueryRunner build()
alwaysRevokeMemory,
nodeCountForStats,
defaultSessionProperties,
planOptimizersProvider,
metadataProvider,
operatorFactories,
extraSessionProperties);
Expand Down