Aman Sinha has uploaded a new patch set (#2). ( 
http://gerrit.cloudera.org:8080/16346 )

Change subject: IMPALA-10046: [WIP] Support constant propagation for eligible 
range predicates
......................................................................

IMPALA-10046: [WIP] Support constant propagation for eligible range predicates

This patch adds support for constant propagation of range predicates
involving date and timestamp constants. Previously, only equality
predicates were considered for propagation. The new type of propagation
is shown by the following example:

Before constant propagation:
 WHERE date_col = CAST(timestamp_col as DATE)
  AND timestamp_col BETWEEN '2019-01-01' AND '2020-01-01'
After constant propagation:
 WHERE date_col >= '2019-01-01' AND date_col <= '2020-01-01'
  AND timestamp_col >= '2019-01-01' AND timestamp_col <= '2020-01-01'

As a consequence, since Impala supports table partitioning by date
columns but not timestamp columns, the above propagation enables
partition pruning based on timestamp ranges.

Existing code for equality based constant propagation was refactored
and consolidated into a new class which handles both equality and
range based constant propagation. Range based propagation is only
applied to date and timestamp columns.

Testing:
 - Added new constant propagation tests to PlannerTest
 - TODO: run e2e tests

Change-Id: I811a1f8d605c27c7704d7fc759a91510c6db3c2b
---
A fe/src/main/java/org/apache/impala/analysis/ConstantPredicateHandler.java
M fe/src/main/java/org/apache/impala/analysis/Expr.java
M testdata/datasets/functional/functional_schema_template.sql
M 
testdata/workloads/functional-planner/queries/PlannerTest/constant-propagation.test
4 files changed, 290 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/46/16346/2
--
To view, visit http://gerrit.cloudera.org:8080/16346
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I811a1f8d605c27c7704d7fc759a91510c6db3c2b
Gerrit-Change-Number: 16346
Gerrit-PatchSet: 2
Gerrit-Owner: Aman Sinha <[email protected]>

Reply via email to