----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/34399/#review84285 -----------------------------------------------------------
lens-cube/src/main/java/org/apache/lens/cube/parse/ExpressionResolver.java <https://reviews.apache.org/r/34399/#comment135505> Will be adding unit test to verify all nested expressions are expanded and added - Amareshwari Sriramadasu On May 19, 2015, 8:53 a.m., Amareshwari Sriramadasu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/34399/ > ----------------------------------------------------------- > > (Updated May 19, 2015, 8:53 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 > ------- > > 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 > ----- > > 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 > >
