[ 
https://issues.apache.org/jira/browse/TAJO-1359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14532848#comment-14532848
 ] 

ASF GitHub Bot commented on TAJO-1359:
--------------------------------------

Github user jihoonson commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/422#discussion_r29862737
  
    --- Diff: 
tajo-plan/src/main/java/org/apache/tajo/plan/nameresolver/NameResolver.java ---
    @@ -162,18 +210,22 @@ static Column 
resolveFromCurrentAndChildNode(LogicalPlan.QueryBlock block, Colum
       }
     
       /**
    -   * It tries to find a full qualified column name from all relations in 
the current block.
    +   * Lookup a column among all relations in the current block from a 
column name.
    +   *
    +   * It assumes that <code>columnName</code> is not any qualified name.
        *
        * @param block The current query block
    -   * @param columnRef The column reference to be found
    +   * @param columnName The column reference to be found
        * @return The found column
        */
    -  static Column resolveFromAllRelsInBlock(LogicalPlan.QueryBlock block,
    -                                          ColumnReferenceExpr columnRef) 
throws VerifyException {
    +  static Column lookupColumnFromAllRelsInBlock(LogicalPlan.QueryBlock 
block,
    +                                               String columnName) throws 
VerifyException {
    +    
Preconditions.checkArgument(CatalogUtil.isSimpleIdentifier(columnName));
    --- End diff --
    
    It would be nice if you add an appropriate error message for pre-condition 
checking failure.


> Add nested field projector and language extension to project nested record
> --------------------------------------------------------------------------
>
>                 Key: TAJO-1359
>                 URL: https://issues.apache.org/jira/browse/TAJO-1359
>             Project: Tajo
>          Issue Type: Sub-task
>          Components: parser, physical operator, planner/optimizer
>            Reporter: Hyunsik Choi
>            Assignee: Hyunsik Choi
>             Fix For: 0.11.0
>
>         Attachments: TAJO-1359.patch, TAJO-1359_2.patch, TAJO-1359_3.patch, 
> TAJO-1359_4.patch, TAJO-1359_5.patch, TAJO-1359_6.patch, TAJO-1359_7.patch
>
>
> We need to improve Projector class to get nested record fields, and we also 
> add some language extension to specify certain nested records in table 
> schema. Both works should be done together. Otherwise, we need to test an 
> entire work process.
> Using dot '.' would be good for the syntax to specify nested fields. Many 
> systems (Hive, Google BigQuery, and Drill) already use this syntax. Probably, 
> many users are familiar with this form.
> For example, if *employee* is a root nested record field and it includes 
> *age* and *name* fields, consisting two fields lastname and firstname, we can 
> specify them individually as follows:
> {code}
> SELECT employee.age, employee.name.lastname, employee.name.firstname FROM ...
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to