[
https://issues.apache.org/jira/browse/CALCITE-4510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17290649#comment-17290649
]
Liya Fan commented on CALCITE-4510:
-----------------------------------
[~rubenql] Thanks for your feedback.
It is difficult to give a proper unit test, as it works well for the existing
type system (as you have indicated).
The problem may occur for some user defined types, for which there is not a
space before "NOT NULL".
It could be argued that the digest of the user defined type has some flaws that
need to be fixed. That is true.
However, I think the Calcite implementation can also be improved.
> Weird digests for literals with some user defined types
> -------------------------------------------------------
>
> Key: CALCITE-4510
> URL: https://issues.apache.org/jira/browse/CALCITE-4510
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Liya Fan
> Assignee: Liya Fan
> Priority: Minor
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> We find weird literals for some user defined non-nullable types. Some
> investigation shows that the problem lies in the {{RexLiteral#toJavaString}}
> method.
> In particular, it checks the type string suffix with an 8-character string:
> {noformat}
> if (!fullTypeString.endsWith("NOT NULL")) {
> {noformat}
> However, it trims the last 9 characters from the end of the string:
> {noformat}
> sb.append(fullTypeString, 0, fullTypeString.length() - 9);
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)