Skip to content

Commit 40258f7

Browse files
committed
Decouple DynamicFilterService and SqlQueryExecution
DynamicFilterService does not need to depend on SqlQueryExecution and this makes the code less readable.
1 parent 0f360f7 commit 40258f7

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

core/trino-main/src/main/java/io/trino/execution/SqlQueryExecution.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ private synchronized void registerDynamicFilteringQuery(PlanRoot plan)
250250
return;
251251
}
252252

253-
dynamicFilterService.registerQuery(this, plan.getRoot());
253+
dynamicFilterService.registerQuery(getSession(), getQueryPlan().orElseThrow().getRoot(), plan.getRoot());
254254
stateMachine.setDynamicFiltersStatsSupplier(
255255
() -> dynamicFilterService.getDynamicFilteringStats(stateMachine.getQueryId()));
256256
}

core/trino-main/src/main/java/io/trino/server/DynamicFilterService.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import io.airlift.units.Duration;
3030
import io.trino.Session;
3131
import io.trino.execution.DynamicFilterConfig;
32-
import io.trino.execution.SqlQueryExecution;
3332
import io.trino.execution.StageId;
3433
import io.trino.execution.TaskId;
3534
import io.trino.metadata.FunctionManager;
@@ -120,9 +119,8 @@ public DynamicFilterService(Metadata metadata, FunctionManager functionManager,
120119
this.smallMaxSizePerFilter = dynamicFilterConfig.getSmallMaxSizePerFilter();
121120
}
122121

123-
public void registerQuery(SqlQueryExecution sqlQueryExecution, SubPlan fragmentedPlan)
122+
public void registerQuery(Session session, PlanNode queryPlan, SubPlan fragmentedPlan)
124123
{
125-
PlanNode queryPlan = sqlQueryExecution.getQueryPlan().orElseThrow().getRoot();
126124
Set<DynamicFilterId> dynamicFilters = getProducedDynamicFilters(queryPlan);
127125
Set<DynamicFilterId> replicatedDynamicFilters = getReplicatedDynamicFilters(queryPlan);
128126

@@ -133,8 +131,8 @@ public void registerQuery(SqlQueryExecution sqlQueryExecution, SubPlan fragmente
133131
// register query only if it contains dynamic filters
134132
if (!dynamicFilters.isEmpty()) {
135133
registerQuery(
136-
sqlQueryExecution.getQueryId(),
137-
sqlQueryExecution.getSession(),
134+
session.getQueryId(),
135+
session,
138136
dynamicFilters,
139137
lazyDynamicFilters,
140138
replicatedDynamicFilters);

0 commit comments

Comments
 (0)