This is an automated email from the ASF dual-hosted git repository.

stoty pushed a commit to branch 5.1
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/5.1 by this push:
     new 52de23f955 PHOENIX-6880 Remove dynamicFilter from BaseQueryPlan
52de23f955 is described below

commit 52de23f955dc2560eca251ad09dc6639c3013ebe
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 1f6ab7ff36..89c09ca6ab 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
@@ -115,7 +115,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 427b6c0ecb..43f2eed190 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 9847ea99c9..91d7f9b25e 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

Reply via email to