-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/34399/
-----------------------------------------------------------

(Updated May 22, 2015, 7:54 a.m.)


Review request for lens, Jaideep dhok and Rajat Khandelwal.


Bugs: LENS-174
    https://issues.apache.org/jira/browse/LENS-174


Repository: lens


Description (updated)
-------

Changes are the following :

- Fix Dimension.getColumnByName() to return expression column as well. This was 
existing bug, got fixed now
- Adds ExpressionContext (new inner class) for each expression queried in 
ExpressionResolver. And 
- ExpressionContext is updated with ExpressionSpecContext (new inner class) for 
each expression in expressioncolumn. It adds newer ExpressionSpecContext by 
expanding all nested expressions.
- Some methods in AliasReplacer and ColumnResolver are made static sothat they 
can called from ExpressionResolver as well.
- AggregateResolver wraps appropriate aggregate around fields in expressions, 
along with ASTs
- CandidateTableResolver picks all facts if expression column is directly 
available. if not, it checks if the expression is evaluatable by the candidate 
table.
- Finally CubeQueryContext.toHQL() picks appropriate expressions for candidates 
picked and replaces them in AST. A picked expression can add more tables to 
joined.
- FieldValidator to validate derived cube corresponding to expression along 
other fields qeuried
- TimerangeResolver to remove expressions which not valid in the range
- Add more testcases to cover cornercases
- Allow expressions to have denorm columns and added tests


Diffs (updated)
-----

  lens-cube/src/main/java/org/apache/lens/cube/metadata/Dimension.java 1a4b581 
  lens-cube/src/main/java/org/apache/lens/cube/metadata/ExprColumn.java a7f711f 
  lens-cube/src/main/java/org/apache/lens/cube/parse/AggregateResolver.java 
76b5729 
  lens-cube/src/main/java/org/apache/lens/cube/parse/AliasReplacer.java 9d367c3 
  lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateFact.java 52bf9aa 
  
lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateTablePruneCause.java
 8c009b2 
  
lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateTableResolver.java 
40561ad 
  lens-cube/src/main/java/org/apache/lens/cube/parse/ColumnResolver.java 
1aa33db 
  lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryContext.java 
3964c1a 
  lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryRewriter.java 
b7a92e7 
  
lens-cube/src/main/java/org/apache/lens/cube/parse/DenormalizationResolver.java 
e0f7bea 
  lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java 
5355049 
  lens-cube/src/main/java/org/apache/lens/cube/parse/FieldValidator.java 
fd8568f 
  lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java 17d2eed 
  lens-cube/src/main/java/org/apache/lens/cube/parse/TimerangeResolver.java 
936faa1 
  lens-cube/src/main/java/org/apache/lens/cube/parse/TrackQueriedColumns.java 
PRE-CREATION 
  lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 5c776cc 
  
lens-cube/src/test/java/org/apache/lens/cube/parse/FieldsCannotBeQueriedTogetherTest.java
 1e0dbf8 
  lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java 
2fd0a46 
  
lens-cube/src/test/java/org/apache/lens/cube/parse/TestDenormalizationResolver.java
 71ed1a8 
  lens-cube/src/test/java/org/apache/lens/cube/parse/TestExpressionContext.java 
PRE-CREATION 
  
lens-cube/src/test/java/org/apache/lens/cube/parse/TestExpressionResolver.java 
a78bcbd 
  lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java 
2c8dab3 
  lens-cube/src/test/java/org/apache/lens/cube/parse/TestQueryMetrics.java 
4304f94 
  lens-cube/src/test/resources/log4j.properties f514648 

Diff: https://reviews.apache.org/r/34399/diff/


Testing (updated)
-------

- Added tests for picking different expressions of expression column
- Added tests for picking materialized expression value soemtimes and 
expression sometimes
- Added tetss testing all nested expressions are added
- Added tests FieldNotQueryableTogether to test for expression fields.

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Lens Checkstyle Rules ............................. SUCCESS [3.214s]
[INFO] Lens .............................................. SUCCESS [3.542s]
[INFO] Lens API .......................................... SUCCESS [20.894s]
[INFO] Lens API for server and extensions ................ SUCCESS [18.985s]
[INFO] Lens Cube ......................................... SUCCESS [3:34.331s]
[INFO] Lens DB storage ................................... SUCCESS [20.569s]
[INFO] Lens Query Library ................................ SUCCESS [16.552s]
[INFO] Lens Hive Driver .................................. SUCCESS [2:56.814s]
[INFO] Lens Driver for JDBC .............................. SUCCESS [47.560s]
[INFO] Lens Server ....................................... SUCCESS [6:54.878s]
[INFO] Lens client ....................................... SUCCESS [44.291s]
[INFO] Lens CLI .......................................... SUCCESS [3:36.281s]
[INFO] Lens Examples ..................................... SUCCESS [11.696s]
[INFO] Lens Distribution ................................. SUCCESS [8.245s]
[INFO] Lens ML Lib ....................................... SUCCESS [1:19.084s]
[INFO] Lens ML Ext Distribution .......................... SUCCESS [1.708s]
[INFO] Lens Regression ................................... SUCCESS [8.307s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21:47.838s
[INFO] Finished at: Fri May 22 07:10:12 UTC 2015
[INFO] Final Memory: 165M/1275M
[INFO] ------------------------------------------------------------------------


Thanks,

Amareshwari Sriramadasu

Reply via email to