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

(Updated May 19, 2015, 9:19 a.m.)


Review request for lens, Jaideep dhok and Rajat Khandelwal.


Changes
-------

Fix comments


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


Repository: lens


Description
-------

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.

Pending:

Fillin TODOs marked
- 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


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 
a25fae6 
  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 84e5341 
  
lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateTablePruneCause.java
 a1fea16 
  
lens-cube/src/main/java/org/apache/lens/cube/parse/CandidateTableResolver.java 
6b6a09b 
  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 
38b6429 
  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 
7857868 
  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 3e3534c 
  lens-cube/src/main/java/org/apache/lens/cube/parse/TimerangeResolver.java 
e5e7c56 
  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 5737057 
  lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java 
2a8f082 
  
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
-------

Almost lens-cube tests pass, a couple of them are failing. Working on fixing 
them.

- Added new tests for picking different expressions of expression column
- Added new tests for picking materialized expression value soemtimes and 
expression sometimes


Thanks,

Amareshwari Sriramadasu

Reply via email to