[
https://issues.apache.org/jira/browse/CALCITE-4056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17139059#comment-17139059
]
Haisheng Yuan commented on CALCITE-4056:
----------------------------------------
Thank you for reviewing the code, Danny. [~laurent] is the one who can answer
whether this patch matches his comment or not.
As for the messy code, we can create following JIRAs to improve them. Note that
this issue was created 8 days ago, not created because of the patch you just
kicked in. It is just a coincidence, they are not tightly related, though. So
please don't get me wrong.
> Remove Digest from RelNode and RexNode
> --------------------------------------
>
> Key: CALCITE-4056
> URL: https://issues.apache.org/jira/browse/CALCITE-4056
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Haisheng Yuan
> Priority: Major
> Fix For: 1.24.0
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> The digest is used everywhere (RelNode, RexNode, DataType), causing OOM
> easily for large queries or with complex expressions. Datatype is cached in
> global interner and can be reused. Unlike RelNode, RexNode is not stored in
> MEMO as a GROUP, causing it can't be shared. This makes Calcite can't scale
> for large queries, e.g. CALCITE-3784.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)