-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/52381/
-----------------------------------------------------------
Review request for lens and Rajat Khandelwal.
Bugs: LENS-1273
https://issues.apache.org/jira/browse/LENS-1273
Repository: lens
Description
-------
The problem exists with case when aggregate expressions in current code because
cube query writing gets all columns queried and checks availability of those
columns in eligible facts.
The fix is to make the checks happen on each select phrase to be separate.
Changes include :
- Added QueriedPhraseContext to hold the different queried phrases in all
clauses
- Updated candidate pruning to happen for columns in QueriedPhraseContext
instead of all columns queried
- Removal of a lot of book keeping done withrespect to columns queried or
expressions queried
- Added aggregate as a field in QueriedPhraseContext and updated
GroupbyResolver to make use of the same.
- Also moved alias for select phrase to SelectPhraseContext and updated its in
all relavant places.
Planning to do some more clean up in a follow up jira wrt
denormalizationResovler and optional dimension tables.
Diffs
-----
lens-cube/src/main/java/org/apache/lens/cube/parse/AggregateResolver.java
292868a
lens-cube/src/main/java/org/apache/lens/cube/parse/AliasReplacer.java 5b48ca4
lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateFact.java 01265a5
lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateTableResolver.java
83e5088
lens-cube/src/main/java/org/apache/lens/cube/parse/ColumnResolver.java
2db5dd1
lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryContext.java
63ec8b2
lens-cube/src/main/java/org/apache/lens/cube/parse/DenormalizationResolver.java
ab1710d
lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java
5adea6c
lens-cube/src/main/java/org/apache/lens/cube/parse/GroupbyResolver.java
8beeb9d
lens-cube/src/main/java/org/apache/lens/cube/parse/MultiFactHQLContext.java
7fbcd7e
lens-cube/src/main/java/org/apache/lens/cube/parse/QueriedPhraseContext.java
PRE-CREATION
lens-cube/src/main/java/org/apache/lens/cube/parse/SelectPhraseContext.java
PRE-CREATION
lens-cube/src/main/java/org/apache/lens/cube/parse/TimeRangeChecker.java
ca176ee
lens-cube/src/main/java/org/apache/lens/cube/parse/TrackQueriedColumns.java
b65ac26
lens-cube/src/main/java/org/apache/lens/cube/parse/TrackQueriedCubeFields.java
PRE-CREATION
lens-cube/src/main/java/org/apache/lens/cube/parse/TracksQueriedColumns.java
PRE-CREATION
lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java f7f8af2
lens-cube/src/test/java/org/apache/lens/cube/parse/TestAggregateResolver.java
35234a1
lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java
6fb027a
Diff: https://reviews.apache.org/r/52381/diff/
Testing
-------
All cube tests pass.
Thanks,
Amareshwari Sriramadasu