[ 
https://issues.apache.org/jira/browse/CALCITE-2597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16632193#comment-16632193
 ] 

Julian Hyde commented on CALCITE-2597:
--------------------------------------

It's up to the derived class to include everything relevant in the digest. For 
example, {{RelRecordType}} includes the fields (its constructor calls 
{{computeDigest()}} which calls {{computeTypeString(true)}}, which calls 
{{field.getType().getFullTypeString()}} for each field).

In your case, your fields have a type that is a non-standard class, so make 
sure that its {{getFullTypeString()}} is doing what you need it to.

> RelDataTypeImpl:digest can not describe a type completely.
> ----------------------------------------------------------
>
>                 Key: CALCITE-2597
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2597
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: huangjiatian
>            Assignee: Julian Hyde
>            Priority: Minor
>         Attachments: image-2018-09-28-13-00-16-440.png, 
> image-2018-09-28-13-11-43-515.png, image-2018-09-28-13-15-19-711.png, 
> image-2018-09-28-13-17-19-369.png
>
>
> I met a strange question when i use Flink SQL API.
> I found two difference type are considered equal.
> !image-2018-09-28-13-11-43-515.png!
> After debug, i found the hashCode method and equals method in RelRecordType 
> just consider "digest".
> !image-2018-09-28-13-15-19-711.png!
> But some time, "digest" can not describe a type completely, More information 
> in the "fieldList".
> !image-2018-09-28-13-17-19-369.png!



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

Reply via email to