62
62
import com .facebook .presto .split .RecordPageSourceProvider ;
63
63
import com .facebook .presto .split .SplitManager ;
64
64
import com .facebook .presto .sql .analyzer .FeaturesConfig ;
65
+ import com .facebook .presto .sql .expressions .ExpressionOptimizerManager ;
65
66
import com .facebook .presto .sql .planner .ConnectorPlanOptimizerManager ;
66
67
import com .facebook .presto .sql .planner .PartitioningProviderManager ;
67
68
import com .facebook .presto .sql .planner .planPrinter .RowExpressionFormatter ;
68
69
import com .facebook .presto .sql .relational .ConnectorRowExpressionService ;
69
70
import com .facebook .presto .sql .relational .FunctionResolution ;
70
- import com .facebook .presto .sql .relational .RowExpressionOptimizer ;
71
71
import com .facebook .presto .transaction .TransactionManager ;
72
72
import com .google .common .collect .ImmutableList ;
73
73
import com .google .common .collect .ImmutableSet ;
@@ -116,6 +116,7 @@ public class ConnectorManager
116
116
private final PageIndexerFactory pageIndexerFactory ;
117
117
private final NodeInfo nodeInfo ;
118
118
private final TransactionManager transactionManager ;
119
+ private final ExpressionOptimizerManager expressionOptimizerManager ;
119
120
private final DomainTranslator domainTranslator ;
120
121
private final PredicateCompiler predicateCompiler ;
121
122
private final DeterminismEvaluator determinismEvaluator ;
@@ -151,6 +152,7 @@ public ConnectorManager(
151
152
PageSorter pageSorter ,
152
153
PageIndexerFactory pageIndexerFactory ,
153
154
TransactionManager transactionManager ,
155
+ ExpressionOptimizerManager expressionOptimizerManager ,
154
156
DomainTranslator domainTranslator ,
155
157
PredicateCompiler predicateCompiler ,
156
158
DeterminismEvaluator determinismEvaluator ,
@@ -176,6 +178,7 @@ public ConnectorManager(
176
178
this .pageIndexerFactory = requireNonNull (pageIndexerFactory , "pageIndexerFactory is null" );
177
179
this .nodeInfo = requireNonNull (nodeInfo , "nodeInfo is null" );
178
180
this .transactionManager = requireNonNull (transactionManager , "transactionManager is null" );
181
+ this .expressionOptimizerManager = requireNonNull (expressionOptimizerManager , "expressionOptimizerManager is null" );
179
182
this .domainTranslator = requireNonNull (domainTranslator , "domainTranslator is null" );
180
183
this .predicateCompiler = requireNonNull (predicateCompiler , "predicateCompiler is null" );
181
184
this .determinismEvaluator = requireNonNull (determinismEvaluator , "determinismEvaluator is null" );
@@ -382,7 +385,7 @@ private Connector createConnector(ConnectorId connectorId, ConnectorFactory fact
382
385
pageIndexerFactory ,
383
386
new ConnectorRowExpressionService (
384
387
domainTranslator ,
385
- new RowExpressionOptimizer ( metadataManager ) ,
388
+ expressionOptimizerManager ,
386
389
predicateCompiler ,
387
390
determinismEvaluator ,
388
391
new RowExpressionFormatter (metadataManager .getFunctionAndTypeManager ())),
0 commit comments