mirror of
https://github.com/apache/impala.git
synced 2026-01-31 09:00:19 -05:00
When there are 2 or more analytic functions in an inline view and at least one of them does not have a partition-by expr, we were previously still populating the commonPartitionExprs list in AnalyticInfo. This common partition expr was then used during the auxiliary predicate creation when the outer query has a predicate on partition-by column. This leads to wrong result because the auxiliary predicate is pushed down to the table scan. While pushing down predicate on a partitioning column is okay if all the analytic functions contain that partitioning column, it is not correct to do this when at least one analytic function does not have that partitioning column. This patch fixes the wrong result by ensuring that the AnalyticInfo's commonPartitionExprs is empty if at least one analytic function does not have partitioning exprs. Testing: - Added new planner test and e2e test for row_num analytic function Change-Id: Iebb51f691e8e5459ffbaf5a49907140f2de212cc Reviewed-on: http://gerrit.cloudera.org:8080/18072 Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Tested-by: Aman Sinha <amsinha@cloudera.com>