This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git
The following commit(s) were added to refs/heads/master by this push: new f758e1cd6b PHOENIX-6880 Remove dynamicFilter from BaseQueryPlan f758e1cd6b is described below commit f758e1cd6b063303c1ec8282d3e7c270a31ea4c0 Author: Istvan Toth <st...@apache.org> AuthorDate: Fri Mar 3 20:16:41 2023 +0100 PHOENIX-6880 Remove dynamicFilter from BaseQueryPlan --- .../org/apache/phoenix/compile/WhereCompiler.java | 2 +- .../org/apache/phoenix/execute/AggregatePlan.java | 11 ++--------- .../org/apache/phoenix/execute/BaseQueryPlan.java | 20 ++------------------ .../phoenix/execute/LiteralResultIterationPlan.java | 2 +- .../java/org/apache/phoenix/execute/ScanPlan.java | 12 +++--------- 5 files changed, 9 insertions(+), 38 deletions(-) diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/WhereCompiler.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/WhereCompiler.java index d164b04c8c..2069c6705e 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/compile/WhereCompiler.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/WhereCompiler.java @@ -114,7 +114,7 @@ public class WhereCompiler { * @throws AmbiguousColumnException if an unaliased column name is ambiguous across multiple tables */ public static Expression compile(StatementContext context, FilterableStatement statement, ParseNode viewWhere, Set<SubqueryParseNode> subqueryNodes, Optional<byte[]> minOffset) throws SQLException { - return compile(context, statement, viewWhere, Collections.<Expression>emptyList(), subqueryNodes, minOffset); + return compile(context, statement, viewWhere, subqueryNodes, minOffset); } /** diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/AggregatePlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/AggregatePlan.java index 14bbae8f79..5e8d4c80f7 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/AggregatePlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/AggregatePlan.java @@ -95,18 +95,11 @@ public class AggregatePlan extends BaseQueryPlan { private OrderBy actualOutputOrderBy; public AggregatePlan(StatementContext context, FilterableStatement statement, TableRef table, - RowProjector projector, Integer limit, Integer offset, OrderBy orderBy, - ParallelIteratorFactory parallelIteratorFactory, GroupBy groupBy, Expression having, QueryPlan dataPlan) throws SQLException { - this(context, statement, table, projector, limit, offset, orderBy, parallelIteratorFactory, groupBy, having, - null, dataPlan); - } - - private AggregatePlan(StatementContext context, FilterableStatement statement, TableRef table, RowProjector projector, Integer limit, Integer offset, OrderBy orderBy, ParallelIteratorFactory parallelIteratorFactory, GroupBy groupBy, Expression having, - Expression dynamicFilter, QueryPlan dataPlan) throws SQLException { + QueryPlan dataPlan) throws SQLException { super(context, statement, table, projector, context.getBindManager().getParameterMetaData(), limit, offset, - orderBy, groupBy, parallelIteratorFactory, dynamicFilter, dataPlan); + orderBy, groupBy, parallelIteratorFactory, dataPlan); this.having = having; this.aggregators = context.getAggregationManager().getAggregators(); boolean hasSerialHint = statement.getHint().hasHint(HintNode.Hint.SERIAL); diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java index a4e0f4f0d3..ded8f17c67 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java @@ -113,12 +113,6 @@ public abstract class BaseQueryPlan implements QueryPlan { protected final OrderBy orderBy; protected final GroupBy groupBy; protected final ParallelIteratorFactory parallelIteratorFactory; - /* - * The filter expression that contains CorrelateVariableFieldAccessExpression - * and will have impact on the ScanRanges. It will recompiled at runtime - * immediately before creating the ResultIterator. - */ - protected final Expression dynamicFilter; protected final QueryPlan dataPlan; protected Long estimatedRows; protected Long estimatedSize; @@ -130,7 +124,7 @@ public abstract class BaseQueryPlan implements QueryPlan { StatementContext context, FilterableStatement statement, TableRef table, RowProjector projection, ParameterMetaData paramMetaData, Integer limit, Integer offset, OrderBy orderBy, GroupBy groupBy, ParallelIteratorFactory parallelIteratorFactory, - Expression dynamicFilter, QueryPlan dataPlan) { + QueryPlan dataPlan) { this.context = context; this.statement = statement; this.tableRef = table; @@ -142,7 +136,6 @@ public abstract class BaseQueryPlan implements QueryPlan { this.orderBy = orderBy; this.groupBy = groupBy; this.parallelIteratorFactory = parallelIteratorFactory; - this.dynamicFilter = dynamicFilter; this.dataPlan = dataPlan; } @@ -192,10 +185,6 @@ public abstract class BaseQueryPlan implements QueryPlan { public RowProjector getProjector() { return projection; } - - public Expression getDynamicFilter() { - return dynamicFilter; - } // /** // * Sets up an id used to do round robin queue processing on the server @@ -267,12 +256,7 @@ public abstract class BaseQueryPlan implements QueryPlan { // clone the scan for each parallelized chunk. TableRef tableRef = context.getCurrentTable(); PTable table = tableRef.getTable(); - - if (dynamicFilter != null) { - WhereCompiler.compile(context, statement, null, Collections.singletonList(dynamicFilter), null, - Optional.<byte[]>absent()); - } - + if (OrderBy.REV_ROW_KEY_ORDER_BY.equals(orderBy)) { setScanReversedWhenOrderByIsReversed(scan); // After HBASE-16296 is resolved, we no longer need to set diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/LiteralResultIterationPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/LiteralResultIterationPlan.java index 10e9031e83..df17e73752 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/LiteralResultIterationPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/LiteralResultIterationPlan.java @@ -59,7 +59,7 @@ public class LiteralResultIterationPlan extends BaseQueryPlan { public LiteralResultIterationPlan(Iterable<Tuple> tuples, StatementContext context, FilterableStatement statement, TableRef tableRef, RowProjector projection, Integer limit, Integer offset, OrderBy orderBy, ParallelIteratorFactory parallelIteratorFactory) throws SQLException { - super(context, statement, tableRef, projection, context.getBindManager().getParameterMetaData(), limit, offset, orderBy, GroupBy.EMPTY_GROUP_BY, parallelIteratorFactory, null, null); + super(context, statement, tableRef, projection, context.getBindManager().getParameterMetaData(), limit, offset, orderBy, GroupBy.EMPTY_GROUP_BY, parallelIteratorFactory, null); this.tuples = tuples; } diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java index 931f68298d..a8f986df40 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/ScanPlan.java @@ -101,17 +101,11 @@ public class ScanPlan extends BaseQueryPlan { private OrderBy actualOutputOrderBy; private Optional<byte[]> rowOffset; - public ScanPlan(StatementContext context, FilterableStatement statement, TableRef table, RowProjector projector, Integer limit, - Integer offset, OrderBy orderBy, ParallelIteratorFactory parallelIteratorFactory, boolean allowPageFilter, - QueryPlan dataPlan, Optional<byte[]> rowOffset) throws SQLException { - this(context, statement, table, projector, limit, offset, orderBy, parallelIteratorFactory, allowPageFilter, null, dataPlan, rowOffset); - } - - private ScanPlan(StatementContext context, FilterableStatement statement, TableRef table, RowProjector projector, Integer limit, Integer offset, - OrderBy orderBy, ParallelIteratorFactory parallelIteratorFactory, boolean allowPageFilter, Expression dynamicFilter, QueryPlan dataPlan, Optional<byte[]> rowOffset) throws SQLException { + public ScanPlan(StatementContext context, FilterableStatement statement, TableRef table, RowProjector projector, Integer limit, Integer offset, + OrderBy orderBy, ParallelIteratorFactory parallelIteratorFactory, boolean allowPageFilter, QueryPlan dataPlan, Optional<byte[]> rowOffset) throws SQLException { super(context, statement, table, projector, context.getBindManager().getParameterMetaData(), limit,offset, orderBy, GroupBy.EMPTY_GROUP_BY, parallelIteratorFactory != null ? parallelIteratorFactory : - buildResultIteratorFactory(context, statement, table, orderBy, limit, offset, allowPageFilter), dynamicFilter, dataPlan); + buildResultIteratorFactory(context, statement, table, orderBy, limit, offset, allowPageFilter), dataPlan); this.allowPageFilter = allowPageFilter; boolean isOrdered = !orderBy.getOrderByExpressions().isEmpty(); if (isOrdered) { // TopN