[ https://issues.apache.org/jira/browse/CALCITE-6100?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17785057#comment-17785057 ]
Julian Hyde commented on CALCITE-6100: -------------------------------------- To me, "should return true if two SqlRowTypeNameSpecs are structurally equivalent" begs the question; "should use equals rather than reference comparison" seems to captures it better. > The equalsDeep of SqlRowTypeNameSpec should return true if two > SqlRowTypeNameSpecs are structurally equivalent > -------------------------------------------------------------------------------------------------------------- > > Key: CALCITE-6100 > URL: https://issues.apache.org/jira/browse/CALCITE-6100 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.35.0, 1.36.0 > Reporter: Dmitry Sysolyatin > Assignee: Dmitry Sysolyatin > Priority: Major > Labels: pull-request-available > > SqlRowTypeNameSpec#equalsDeep method uses reference comparison for objects > inside fieldTypes list instead of using SqlDataTypeSpec#equalsDeep. > Testcase: Add to `SqlEqualsDeepTest` the following lines of code: > {code:java} > @Test > void testRowEqualsDeep() throws SqlParseException { > assertEqualsDeep("CAST(a AS ROW(field INTEGER))", > "CAST(a AS ROW(field INTEGER))", true); > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)