[ https://issues.apache.org/jira/browse/CALCITE-4972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17468272#comment-17468272 ]
Julian Hyde edited comment on CALCITE-4972 at 1/3/22, 11:45 PM: ---------------------------------------------------------------- Your wording "The return value will be" is a little misleading, depending on whether you read this as a bug or a feature request. I agree with you that the return value is currently "CATALOG.SALES.DEPT_NESTED.EMPNO" and should be "CATALOG.SALES.DEPT_NESTED.EMPLOYEES.EMPNO". was (Author: julianhyde): Your wording "The return value will be" is a little misleading, depending on whether you read this as a bug or a feature request. I agree with you that the return value is currently "{CATALOG.SALES.DEPT_NESTED.EMPNO}" and should be "{CATALOG.SALES.DEPT_NESTED.EMPLOYEES.EMPNO}". > Qualify subfields of array columns containing structs in return of > getFieldOrigins > ---------------------------------------------------------------------------------- > > Key: CALCITE-4972 > URL: https://issues.apache.org/jira/browse/CALCITE-4972 > Project: Calcite > Issue Type: Improvement > Components: core > Affects Versions: 1.28.0 > Reporter: Mark Grey > Priority: Minor > > Attempting to follow on the [suggestions from Julian in this > thread|https://lists.apache.org/thread/pdpqtzy5mtzlpdbhwghbty6cj0jgc86l], > found a potential improvement. > Given a table schema containing a repeated array of structs and a query > projecting fields of that struct via UNNEST, the present implementation of > {{getFieldOrigins}} in {{SqlValidatorImpl}} will return a list representation > suggesting that the subfield is actually a member of the top level table row > type. > For example, when using the [DEPT_NESTED table from the > MockCatalogReaderSimple|https://github.com/apache/calcite/blob/master/testkit/src/main/java/org/apache/calcite/test/catalog/MockCatalogReaderSimple.java#L152-L159] > within tests with the following query: > {code:sql} > select e.empno from dept_nested, unnest(employees) as e > {code} > The return value will be: > {code} > {CATALOG.SALES.DEPT_NESTED.EMPNO} > {code} > Rather than: > {code} > {CATALOG.SALES.DEPT_NESTED.EMPLOYEES.EMPNO} > {code} > No such column {{EMPNO}} exists in the root schema of the DEPT_NESTED table. > [The javadoc for the method > |https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/sql/validate/SqlValidator.java#L717-L728]however > suggests that the return from this method should always be four entries > long, although it would seem this doesn't account for nesting. Is this > intended behavior, or should {{column}} entry of this list be of variable > length? -- This message was sent by Atlassian Jira (v8.20.1#820001)