You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lens.apache.org by Amareshwari Sriramadasu <am...@apache.org> on 2015/09/15 14:48:51 UTC

Review Request 38402: LENS-752 : Support flattening of columns selected through bridge-tables(many-to-many relationships)

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

Review request for lens.


Repository: lens


Description
-------

Changes include :
- Ability to specify if the destination link in a join chain has many-many-relationship
- Ability to configure at query to say flatten the fields coming from bridge-table relations
- Enhance cube query rewriter (mainly the join clause) to add join for bridge table to flatten them

Pending :
- Add a test with multi fact query
- Update documentation with feature addition


Diffs
-----

  lens-api/src/main/resources/cube-0.1.xsd 58f68f5 
  lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java e394e20 
  lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java bf27b99 
  lens-cube/src/main/java/org/apache/lens/cube/metadata/SchemaGraph.java 1a37e80 
  lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java 31fd97b 
  lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryConfUtil.java aab2488 
  lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java c7f1e2a 
  lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 7f56292 
  lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java cb63fad 
  lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ed472f6 
  lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java f9be6e6 

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


Testing
-------

Added testcases for bridge tables and queries on them.

All tests in lens-cube module pass. Will update full test results once done.


Thanks,

Amareshwari Sriramadasu


Re: Review Request 38402: LENS-752 : Support flattening of columns selected through bridge-tables(many-to-many relationships)

Posted by Amareshwari Sriramadasu <am...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/38402/#review99170
-----------------------------------------------------------



lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java (line 582)
<https://reviews.apache.org/r/38402/#comment156075>

    We should make this function configurable and can pass different function names from drivers.


- Amareshwari Sriramadasu


On Sept. 15, 2015, 12:48 p.m., Amareshwari Sriramadasu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38402/
> -----------------------------------------------------------
> 
> (Updated Sept. 15, 2015, 12:48 p.m.)
> 
> 
> Review request for lens.
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> Changes include :
> - Ability to specify if the destination link in a join chain has many-many-relationship
> - Ability to configure at query to say flatten the fields coming from bridge-table relations
> - Enhance cube query rewriter (mainly the join clause) to add join for bridge table to flatten them
> 
> Pending :
> - Add a test with multi fact query
> - Update documentation with feature addition
> 
> 
> Diffs
> -----
> 
>   lens-api/src/main/resources/cube-0.1.xsd 58f68f5 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java e394e20 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java bf27b99 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/SchemaGraph.java 1a37e80 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java 31fd97b 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryConfUtil.java aab2488 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java c7f1e2a 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 7f56292 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java cb63fad 
>   lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ed472f6 
>   lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java f9be6e6 
> 
> Diff: https://reviews.apache.org/r/38402/diff/
> 
> 
> Testing
> -------
> 
> Added testcases for bridge tables and queries on them.
> 
> All tests in lens-cube module pass. Will update full test results once done.
> 
> 
> Thanks,
> 
> Amareshwari Sriramadasu
> 
>


Re: Review Request 38402: LENS-752 : Support flattening of columns selected through bridge-tables(many-to-many relationships)

Posted by Amareshwari Sriramadasu <am...@apache.org>.

> On Sept. 24, 2015, 7:07 a.m., Rajat Khandelwal wrote:
> > lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java, line 45
> > <https://reviews.apache.org/r/38402/diff/2/?file=1075331#file1075331line45>
> >
> >     We are serializing as `t1.f1->t2.f2[n]`. So `parseBoolean` might not work.

Serialization is not using toString() See : https://github.com/Amareshwari/incubator-lens/blob/LENS-752/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java#L127


- Amareshwari


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


On Sept. 16, 2015, 9:03 a.m., Amareshwari Sriramadasu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38402/
> -----------------------------------------------------------
> 
> (Updated Sept. 16, 2015, 9:03 a.m.)
> 
> 
> Review request for lens.
> 
> 
> Bugs: LENS-752
>     https://issues.apache.org/jira/browse/LENS-752
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> Changes include :
> - Ability to specify if the destination link in a join chain has many-many-relationship
> - Ability to configure at query to say flatten the fields coming from bridge-table relations
> - Enhance cube query rewriter (mainly the join clause) to add join for bridge table to flatten them
> - Added tests for all new functionality
> - Updated documentation with feature addition
> 
> 
> Diffs
> -----
> 
>   lens-api/src/main/resources/cube-0.1.xsd 58f68f5 
>   lens-cli/src/test/java/org/apache/lens/cli/TestLensCubeCommands.java 39441c9 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java e394e20 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java bf27b99 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/SchemaGraph.java 1a37e80 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java 31fd97b 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryConfUtil.java aab2488 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java c7f1e2a 
>   lens-cube/src/main/resources/olap-query-conf.xml c9b8d0f 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 67f7ab9 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java cb63fad 
>   lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ed472f6 
>   lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java f9be6e6 
>   src/site/apt/user/olap-cube.apt ac91955 
>   src/site/apt/user/olap-query-conf.apt 8204c34 
> 
> Diff: https://reviews.apache.org/r/38402/diff/
> 
> 
> Testing
> -------
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO] 
> [INFO] Lens Checkstyle Rules ............................. SUCCESS [2.015s]
> [INFO] Lens .............................................. SUCCESS [3.049s]
> [INFO] Lens API .......................................... SUCCESS [25.588s]
> [INFO] Lens API for server and extensions ................ SUCCESS [20.759s]
> [INFO] Lens Cube ......................................... SUCCESS [5:09.699s]
> [INFO] Lens DB storage ................................... SUCCESS [20.745s]
> [INFO] Lens Query Library ................................ SUCCESS [16.889s]
> [INFO] Lens Hive Driver .................................. SUCCESS [2:48.677s]
> [INFO] Lens Driver for JDBC .............................. SUCCESS [37.134s]
> [INFO] Lens Elastic Search Driver ........................ SUCCESS [16.155s]
> [INFO] Lens Server ....................................... SUCCESS [5:40.844s]
> [INFO] Lens client ....................................... SUCCESS [35.393s]
> [INFO] Lens CLI .......................................... SUCCESS [2:36.188s]
> [INFO] Lens Examples ..................................... SUCCESS [8.233s]
> [INFO] Lens Distribution ................................. SUCCESS [8.400s]
> [INFO] Lens ML Lib ....................................... SUCCESS [1:18.649s]
> [INFO] Lens ML Ext Distribution .......................... SUCCESS [2.233s]
> [INFO] Lens Regression ................................... SUCCESS [10.572s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 21:02.117s
> [INFO] Finished at: Wed Sep 16 09:00:28 UTC 2015
> [INFO] Final Memory: 209M/2163M
> [INFO] ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Amareshwari Sriramadasu
> 
>


Re: Review Request 38402: LENS-752 : Support flattening of columns selected through bridge-tables(many-to-many relationships)

Posted by Rajat Khandelwal <ra...@gmail.com>.

> On Sept. 24, 2015, 12:37 p.m., Rajat Khandelwal wrote:
> > lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java, line 45
> > <https://reviews.apache.org/r/38402/diff/2/?file=1075331#file1075331line45>
> >
> >     We are serializing as `t1.f1->t2.f2[n]`. So `parseBoolean` might not work.
> 
> Amareshwari Sriramadasu wrote:
>     Serialization is not using toString() See : https://github.com/Amareshwari/incubator-lens/blob/LENS-752/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java#L127

cool. Merging.


- Rajat


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


On Sept. 16, 2015, 2:33 p.m., Amareshwari Sriramadasu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38402/
> -----------------------------------------------------------
> 
> (Updated Sept. 16, 2015, 2:33 p.m.)
> 
> 
> Review request for lens.
> 
> 
> Bugs: LENS-752
>     https://issues.apache.org/jira/browse/LENS-752
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> Changes include :
> - Ability to specify if the destination link in a join chain has many-many-relationship
> - Ability to configure at query to say flatten the fields coming from bridge-table relations
> - Enhance cube query rewriter (mainly the join clause) to add join for bridge table to flatten them
> - Added tests for all new functionality
> - Updated documentation with feature addition
> 
> 
> Diffs
> -----
> 
>   lens-api/src/main/resources/cube-0.1.xsd 58f68f5 
>   lens-cli/src/test/java/org/apache/lens/cli/TestLensCubeCommands.java 39441c9 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java e394e20 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java bf27b99 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/SchemaGraph.java 1a37e80 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java 31fd97b 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryConfUtil.java aab2488 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java c7f1e2a 
>   lens-cube/src/main/resources/olap-query-conf.xml c9b8d0f 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 67f7ab9 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java cb63fad 
>   lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ed472f6 
>   lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java f9be6e6 
>   src/site/apt/user/olap-cube.apt ac91955 
>   src/site/apt/user/olap-query-conf.apt 8204c34 
> 
> Diff: https://reviews.apache.org/r/38402/diff/
> 
> 
> Testing
> -------
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO] 
> [INFO] Lens Checkstyle Rules ............................. SUCCESS [2.015s]
> [INFO] Lens .............................................. SUCCESS [3.049s]
> [INFO] Lens API .......................................... SUCCESS [25.588s]
> [INFO] Lens API for server and extensions ................ SUCCESS [20.759s]
> [INFO] Lens Cube ......................................... SUCCESS [5:09.699s]
> [INFO] Lens DB storage ................................... SUCCESS [20.745s]
> [INFO] Lens Query Library ................................ SUCCESS [16.889s]
> [INFO] Lens Hive Driver .................................. SUCCESS [2:48.677s]
> [INFO] Lens Driver for JDBC .............................. SUCCESS [37.134s]
> [INFO] Lens Elastic Search Driver ........................ SUCCESS [16.155s]
> [INFO] Lens Server ....................................... SUCCESS [5:40.844s]
> [INFO] Lens client ....................................... SUCCESS [35.393s]
> [INFO] Lens CLI .......................................... SUCCESS [2:36.188s]
> [INFO] Lens Examples ..................................... SUCCESS [8.233s]
> [INFO] Lens Distribution ................................. SUCCESS [8.400s]
> [INFO] Lens ML Lib ....................................... SUCCESS [1:18.649s]
> [INFO] Lens ML Ext Distribution .......................... SUCCESS [2.233s]
> [INFO] Lens Regression ................................... SUCCESS [10.572s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 21:02.117s
> [INFO] Finished at: Wed Sep 16 09:00:28 UTC 2015
> [INFO] Final Memory: 209M/2163M
> [INFO] ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Amareshwari Sriramadasu
> 
>


Re: Review Request 38402: LENS-752 : Support flattening of columns selected through bridge-tables(many-to-many relationships)

Posted by Rajat Khandelwal <ra...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/38402/#review100379
-----------------------------------------------------------

Ship it!



lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java (line 42)
<https://reviews.apache.org/r/38402/#comment157560>

    We are serializing as `t1.f1->t2.f2[n]`. So `parseBoolean` might not work.


- Rajat Khandelwal


On Sept. 16, 2015, 2:33 p.m., Amareshwari Sriramadasu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38402/
> -----------------------------------------------------------
> 
> (Updated Sept. 16, 2015, 2:33 p.m.)
> 
> 
> Review request for lens.
> 
> 
> Bugs: LENS-752
>     https://issues.apache.org/jira/browse/LENS-752
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> Changes include :
> - Ability to specify if the destination link in a join chain has many-many-relationship
> - Ability to configure at query to say flatten the fields coming from bridge-table relations
> - Enhance cube query rewriter (mainly the join clause) to add join for bridge table to flatten them
> - Added tests for all new functionality
> - Updated documentation with feature addition
> 
> 
> Diffs
> -----
> 
>   lens-api/src/main/resources/cube-0.1.xsd 58f68f5 
>   lens-cli/src/test/java/org/apache/lens/cli/TestLensCubeCommands.java 39441c9 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java e394e20 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java bf27b99 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/SchemaGraph.java 1a37e80 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java 31fd97b 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryConfUtil.java aab2488 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java c7f1e2a 
>   lens-cube/src/main/resources/olap-query-conf.xml c9b8d0f 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 67f7ab9 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java cb63fad 
>   lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ed472f6 
>   lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java f9be6e6 
>   src/site/apt/user/olap-cube.apt ac91955 
>   src/site/apt/user/olap-query-conf.apt 8204c34 
> 
> Diff: https://reviews.apache.org/r/38402/diff/
> 
> 
> Testing
> -------
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO] 
> [INFO] Lens Checkstyle Rules ............................. SUCCESS [2.015s]
> [INFO] Lens .............................................. SUCCESS [3.049s]
> [INFO] Lens API .......................................... SUCCESS [25.588s]
> [INFO] Lens API for server and extensions ................ SUCCESS [20.759s]
> [INFO] Lens Cube ......................................... SUCCESS [5:09.699s]
> [INFO] Lens DB storage ................................... SUCCESS [20.745s]
> [INFO] Lens Query Library ................................ SUCCESS [16.889s]
> [INFO] Lens Hive Driver .................................. SUCCESS [2:48.677s]
> [INFO] Lens Driver for JDBC .............................. SUCCESS [37.134s]
> [INFO] Lens Elastic Search Driver ........................ SUCCESS [16.155s]
> [INFO] Lens Server ....................................... SUCCESS [5:40.844s]
> [INFO] Lens client ....................................... SUCCESS [35.393s]
> [INFO] Lens CLI .......................................... SUCCESS [2:36.188s]
> [INFO] Lens Examples ..................................... SUCCESS [8.233s]
> [INFO] Lens Distribution ................................. SUCCESS [8.400s]
> [INFO] Lens ML Lib ....................................... SUCCESS [1:18.649s]
> [INFO] Lens ML Ext Distribution .......................... SUCCESS [2.233s]
> [INFO] Lens Regression ................................... SUCCESS [10.572s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 21:02.117s
> [INFO] Finished at: Wed Sep 16 09:00:28 UTC 2015
> [INFO] Final Memory: 209M/2163M
> [INFO] ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Amareshwari Sriramadasu
> 
>


Re: Review Request 38402: LENS-752 : Support flattening of columns selected through bridge-tables(many-to-many relationships)

Posted by Amareshwari Sriramadasu <am...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/38402/
-----------------------------------------------------------

(Updated Sept. 16, 2015, 9:03 a.m.)


Review request for lens.


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


Repository: lens


Description (updated)
-------

Changes include :
- Ability to specify if the destination link in a join chain has many-many-relationship
- Ability to configure at query to say flatten the fields coming from bridge-table relations
- Enhance cube query rewriter (mainly the join clause) to add join for bridge table to flatten them
- Added tests for all new functionality
- Updated documentation with feature addition


Diffs (updated)
-----

  lens-api/src/main/resources/cube-0.1.xsd 58f68f5 
  lens-cli/src/test/java/org/apache/lens/cli/TestLensCubeCommands.java 39441c9 
  lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java e394e20 
  lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java bf27b99 
  lens-cube/src/main/java/org/apache/lens/cube/metadata/SchemaGraph.java 1a37e80 
  lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java 31fd97b 
  lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryConfUtil.java aab2488 
  lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java c7f1e2a 
  lens-cube/src/main/resources/olap-query-conf.xml c9b8d0f 
  lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 67f7ab9 
  lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java cb63fad 
  lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ed472f6 
  lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java f9be6e6 
  src/site/apt/user/olap-cube.apt ac91955 
  src/site/apt/user/olap-query-conf.apt 8204c34 

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


Testing (updated)
-------

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Lens Checkstyle Rules ............................. SUCCESS [2.015s]
[INFO] Lens .............................................. SUCCESS [3.049s]
[INFO] Lens API .......................................... SUCCESS [25.588s]
[INFO] Lens API for server and extensions ................ SUCCESS [20.759s]
[INFO] Lens Cube ......................................... SUCCESS [5:09.699s]
[INFO] Lens DB storage ................................... SUCCESS [20.745s]
[INFO] Lens Query Library ................................ SUCCESS [16.889s]
[INFO] Lens Hive Driver .................................. SUCCESS [2:48.677s]
[INFO] Lens Driver for JDBC .............................. SUCCESS [37.134s]
[INFO] Lens Elastic Search Driver ........................ SUCCESS [16.155s]
[INFO] Lens Server ....................................... SUCCESS [5:40.844s]
[INFO] Lens client ....................................... SUCCESS [35.393s]
[INFO] Lens CLI .......................................... SUCCESS [2:36.188s]
[INFO] Lens Examples ..................................... SUCCESS [8.233s]
[INFO] Lens Distribution ................................. SUCCESS [8.400s]
[INFO] Lens ML Lib ....................................... SUCCESS [1:18.649s]
[INFO] Lens ML Ext Distribution .......................... SUCCESS [2.233s]
[INFO] Lens Regression ................................... SUCCESS [10.572s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21:02.117s
[INFO] Finished at: Wed Sep 16 09:00:28 UTC 2015
[INFO] Final Memory: 209M/2163M
[INFO] ------------------------------------------------------------------------


Thanks,

Amareshwari Sriramadasu


Re: Review Request 38402: LENS-752 : Support flattening of columns selected through bridge-tables(many-to-many relationships)

Posted by Rajat Khandelwal <ra...@gmail.com>.

> On Sept. 15, 2015, 7:30 p.m., Rajat Khandelwal wrote:
> > lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java, lines 586-587
> > <https://reviews.apache.org/r/38402/diff/1/?file=1073797#file1073797line586>
> >
> >     only null check needed.
> 
> Amareshwari Sriramadasu wrote:
>     why? we should check if the column are queried from that table as well.

the empty case will be taken care while iterating over collection of zero elements.


> On Sept. 15, 2015, 7:30 p.m., Rajat Khandelwal wrote:
> > lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java, line 585
> > <https://reviews.apache.org/r/38402/diff/1/?file=1073797#file1073797line585>
> >
> >     Among the approaches: 
> >     
> >     1. Relying on a flag to append "select" or "join"
> >     2. Making a list and later doing "select" + StringUtils.join("join", list)
> >     
> >     the second seems more intuitive. And would be easier to debug later on.
> 
> Amareshwari Sriramadasu wrote:
>     Did not understand the comment fully.
>     
>     It is not simply prepending select or join to alist. If join needs to be converted to select from a bridge table - it becomes a full fledged query with select, from, groupby, filters and optionally more joins.

Yes. I hadn't understood the code fully. Can you please add docs explaining the steps.


- Rajat


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


On Sept. 15, 2015, 6:18 p.m., Amareshwari Sriramadasu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38402/
> -----------------------------------------------------------
> 
> (Updated Sept. 15, 2015, 6:18 p.m.)
> 
> 
> Review request for lens.
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> Changes include :
> - Ability to specify if the destination link in a join chain has many-many-relationship
> - Ability to configure at query to say flatten the fields coming from bridge-table relations
> - Enhance cube query rewriter (mainly the join clause) to add join for bridge table to flatten them
> 
> Pending :
> - Add a test with multi fact query
> - Update documentation with feature addition
> 
> 
> Diffs
> -----
> 
>   lens-api/src/main/resources/cube-0.1.xsd 58f68f5 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java e394e20 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java bf27b99 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/SchemaGraph.java 1a37e80 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java 31fd97b 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryConfUtil.java aab2488 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java c7f1e2a 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 7f56292 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java cb63fad 
>   lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ed472f6 
>   lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java f9be6e6 
> 
> Diff: https://reviews.apache.org/r/38402/diff/
> 
> 
> Testing
> -------
> 
> Added testcases for bridge tables and queries on them.
> 
> All tests in lens-cube module pass. Will update full test results once done.
> 
> 
> Thanks,
> 
> Amareshwari Sriramadasu
> 
>


Re: Review Request 38402: LENS-752 : Support flattening of columns selected through bridge-tables(many-to-many relationships)

Posted by Amareshwari Sriramadasu <am...@apache.org>.

> On Sept. 15, 2015, 2 p.m., Rajat Khandelwal wrote:
> > lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java, lines 586-587
> > <https://reviews.apache.org/r/38402/diff/1/?file=1073797#file1073797line586>
> >
> >     only null check needed.
> 
> Amareshwari Sriramadasu wrote:
>     why? we should check if the column are queried from that table as well.
> 
> Rajat Khandelwal wrote:
>     the empty case will be taken care while iterating over collection of zero elements.

The check is not just for iteration, it is doing more along with iteration.


> On Sept. 15, 2015, 2 p.m., Rajat Khandelwal wrote:
> > lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java, line 585
> > <https://reviews.apache.org/r/38402/diff/1/?file=1073797#file1073797line585>
> >
> >     Among the approaches: 
> >     
> >     1. Relying on a flag to append "select" or "join"
> >     2. Making a list and later doing "select" + StringUtils.join("join", list)
> >     
> >     the second seems more intuitive. And would be easier to debug later on.
> 
> Amareshwari Sriramadasu wrote:
>     Did not understand the comment fully.
>     
>     It is not simply prepending select or join to alist. If join needs to be converted to select from a bridge table - it becomes a full fledged query with select, from, groupby, filters and optionally more joins.
> 
> Rajat Khandelwal wrote:
>     Yes. I hadn't understood the code fully. Can you please add docs explaining the steps.

Sure. Will update with comments.


- Amareshwari


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


On Sept. 15, 2015, 12:48 p.m., Amareshwari Sriramadasu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38402/
> -----------------------------------------------------------
> 
> (Updated Sept. 15, 2015, 12:48 p.m.)
> 
> 
> Review request for lens.
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> Changes include :
> - Ability to specify if the destination link in a join chain has many-many-relationship
> - Ability to configure at query to say flatten the fields coming from bridge-table relations
> - Enhance cube query rewriter (mainly the join clause) to add join for bridge table to flatten them
> 
> Pending :
> - Add a test with multi fact query
> - Update documentation with feature addition
> 
> 
> Diffs
> -----
> 
>   lens-api/src/main/resources/cube-0.1.xsd 58f68f5 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java e394e20 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java bf27b99 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/SchemaGraph.java 1a37e80 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java 31fd97b 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryConfUtil.java aab2488 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java c7f1e2a 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 7f56292 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java cb63fad 
>   lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ed472f6 
>   lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java f9be6e6 
> 
> Diff: https://reviews.apache.org/r/38402/diff/
> 
> 
> Testing
> -------
> 
> Added testcases for bridge tables and queries on them.
> 
> All tests in lens-cube module pass. Will update full test results once done.
> 
> 
> Thanks,
> 
> Amareshwari Sriramadasu
> 
>


Re: Review Request 38402: LENS-752 : Support flattening of columns selected through bridge-tables(many-to-many relationships)

Posted by Amareshwari Sriramadasu <am...@apache.org>.

> On Sept. 15, 2015, 2 p.m., Rajat Khandelwal wrote:
> > lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java, line 579
> > <https://reviews.apache.org/r/38402/diff/1/?file=1073797#file1073797line579>
> >
> >     blankness of `bridgeFromClause`

from clause would never be empty. This is for appending userfilter if it is not null


> On Sept. 15, 2015, 2 p.m., Rajat Khandelwal wrote:
> > lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java, lines 586-587
> > <https://reviews.apache.org/r/38402/diff/1/?file=1073797#file1073797line586>
> >
> >     only null check needed.

why? we should check if the column are queried from that table as well.


> On Sept. 15, 2015, 2 p.m., Rajat Khandelwal wrote:
> > lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java, line 585
> > <https://reviews.apache.org/r/38402/diff/1/?file=1073797#file1073797line585>
> >
> >     Among the approaches: 
> >     
> >     1. Relying on a flag to append "select" or "join"
> >     2. Making a list and later doing "select" + StringUtils.join("join", list)
> >     
> >     the second seems more intuitive. And would be easier to debug later on.

Did not understand the comment fully.

It is not simply prepending select or join to alist. If join needs to be converted to select from a bridge table - it becomes a full fledged query with select, from, groupby, filters and optionally more joins.


- Amareshwari


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


On Sept. 15, 2015, 12:48 p.m., Amareshwari Sriramadasu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38402/
> -----------------------------------------------------------
> 
> (Updated Sept. 15, 2015, 12:48 p.m.)
> 
> 
> Review request for lens.
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> Changes include :
> - Ability to specify if the destination link in a join chain has many-many-relationship
> - Ability to configure at query to say flatten the fields coming from bridge-table relations
> - Enhance cube query rewriter (mainly the join clause) to add join for bridge table to flatten them
> 
> Pending :
> - Add a test with multi fact query
> - Update documentation with feature addition
> 
> 
> Diffs
> -----
> 
>   lens-api/src/main/resources/cube-0.1.xsd 58f68f5 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java e394e20 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java bf27b99 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/SchemaGraph.java 1a37e80 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java 31fd97b 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryConfUtil.java aab2488 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java c7f1e2a 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 7f56292 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java cb63fad 
>   lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ed472f6 
>   lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java f9be6e6 
> 
> Diff: https://reviews.apache.org/r/38402/diff/
> 
> 
> Testing
> -------
> 
> Added testcases for bridge tables and queries on them.
> 
> All tests in lens-cube module pass. Will update full test results once done.
> 
> 
> Thanks,
> 
> Amareshwari Sriramadasu
> 
>


Re: Review Request 38402: LENS-752 : Support flattening of columns selected through bridge-tables(many-to-many relationships)

Posted by Rajat Khandelwal <ra...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/38402/#review99024
-----------------------------------------------------------



lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java (line 556)
<https://reviews.apache.org/r/38402/#comment155836>

    Let's check blankness of `bridgeFilterClause` instead of checking blankness of the only thing appended to `bridgeFilterClause`.



lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java (line 572)
<https://reviews.apache.org/r/38402/#comment155837>

    blankness of `bridgeFromClause`



lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java (line 578)
<https://reviews.apache.org/r/38402/#comment155838>

    Among the approaches: 
    
    1. Relying on a flag to append "select" or "join"
    2. Making a list and later doing "select" + StringUtils.join("join", list)
    
    the second seems more intuitive. And would be easier to debug later on.



lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java (lines 579 - 580)
<https://reviews.apache.org/r/38402/#comment155839>

    only null check needed.


- Rajat Khandelwal


On Sept. 15, 2015, 6:18 p.m., Amareshwari Sriramadasu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38402/
> -----------------------------------------------------------
> 
> (Updated Sept. 15, 2015, 6:18 p.m.)
> 
> 
> Review request for lens.
> 
> 
> Repository: lens
> 
> 
> Description
> -------
> 
> Changes include :
> - Ability to specify if the destination link in a join chain has many-many-relationship
> - Ability to configure at query to say flatten the fields coming from bridge-table relations
> - Enhance cube query rewriter (mainly the join clause) to add join for bridge table to flatten them
> 
> Pending :
> - Add a test with multi fact query
> - Update documentation with feature addition
> 
> 
> Diffs
> -----
> 
>   lens-api/src/main/resources/cube-0.1.xsd 58f68f5 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java e394e20 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java bf27b99 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/SchemaGraph.java 1a37e80 
>   lens-cube/src/main/java/org/apache/lens/cube/metadata/TableReference.java 31fd97b 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/CubeQueryConfUtil.java aab2488 
>   lens-cube/src/main/java/org/apache/lens/cube/parse/JoinResolver.java c7f1e2a 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java 7f56292 
>   lens-cube/src/test/java/org/apache/lens/cube/parse/TestJoinResolver.java cb63fad 
>   lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ed472f6 
>   lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java f9be6e6 
> 
> Diff: https://reviews.apache.org/r/38402/diff/
> 
> 
> Testing
> -------
> 
> Added testcases for bridge tables and queries on them.
> 
> All tests in lens-cube module pass. Will update full test results once done.
> 
> 
> Thanks,
> 
> Amareshwari Sriramadasu
> 
>