[ 
https://issues.apache.org/jira/browse/CALCITE-2906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rong Rong updated CALCITE-2906:
-------------------------------
    Description: 
Currently the DOT extensions only supports Simple Identifiers:

For example:
* *{{tbl.foo(0).col.bar}}* is parsed as: *{{((`TBL`.`FOO`(0).`COL`).`BAR`)}}*

However, this is not the case in regular Expression field, for example:
* *{{tbl.col.bar}}* is parsed as: *{{`TBL`.`COL`.`BAR`}}*

Parser should support both compound identifier, and simple identifier chain 
after a record type SqlNode.

Similarly, parsing should also be consistent for other types of expression, for 
example
* *{{tbl.arr[0].foo.bar}}* is currently parsed as: 
*{{((`TBL`.`ARR`[0].`FOO`).`BAR`)}}*

  was:
Currently the DOT extensions only supports Simple Identifiers:

For example:
* *{{tbl.foo(0).col.bar}}* is parsed as: *{{((`TBL`.`FOO`(0).`COL`).`BAR`)}}*

However, this is not the case in regular Expression field, for example:
* *{{tbl.col.bar}}* is parsed as: *{{`TBL`.`COL`.`BAR`}}*

Parser should support both compound identifier, and simple identifier chain 
after a record type SqlNode.


> Record DOT extension does not distinguish between simple and compound 
> identifiers
> ---------------------------------------------------------------------------------
>
>                 Key: CALCITE-2906
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2906
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Rong Rong
>            Priority: Major
>
> Currently the DOT extensions only supports Simple Identifiers:
> For example:
> * *{{tbl.foo(0).col.bar}}* is parsed as: *{{((`TBL`.`FOO`(0).`COL`).`BAR`)}}*
> However, this is not the case in regular Expression field, for example:
> * *{{tbl.col.bar}}* is parsed as: *{{`TBL`.`COL`.`BAR`}}*
> Parser should support both compound identifier, and simple identifier chain 
> after a record type SqlNode.
> Similarly, parsing should also be consistent for other types of expression, 
> for example
> * *{{tbl.arr[0].foo.bar}}* is currently parsed as: 
> *{{((`TBL`.`ARR`[0].`FOO`).`BAR`)}}*



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to