[ https://issues.apache.org/jira/browse/CALCITE-2677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16708268#comment-16708268 ]
Stamatis Zampetakis commented on CALCITE-2677: ---------------------------------------------- I tried to illustrate the problem with a few a simple unit tests. Without the fix the returned type is not the expected one which can lead to exceptions when we execute queries with field accesses involving structs with one field. > Struct types with one field are not mapped correctly to Java Classes > -------------------------------------------------------------------- > > Key: CALCITE-2677 > URL: https://issues.apache.org/jira/browse/CALCITE-2677 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.17.0 > Reporter: Stamatis Zampetakis > Assignee: Julian Hyde > Priority: Major > Labels: easy-fix, pull-request-available > Fix For: 1.18.0 > > > There are various places in the code where given a RelDataType we need to > obtain the respective Java Class/Type. This is done mainly through > JavaTypeFactory#getJavaClass. For the Calcite runtime it passes through > PhysType#fieldClass and PhysType#getJavaFieldType. > However, when the RelDataType is a struct of one field the returned > Class/Type is not the correct one since the struct type is simplified to the > type of its component. -- This message was sent by Atlassian JIRA (v7.6.3#76005)