[ 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)