You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2019/04/12 08:17:00 UTC

[jira] [Commented] (CALCITE-2992) Make implicit conversions when generating hash join keys for an equiCondition

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

Julian Hyde commented on CALCITE-2992:
--------------------------------------

Converting keys to strings is a waste of both cpu and memory.

You need to make sure that the keys are the same physical type - converting in the inputs if necessary. I thought sql-to-rel already did this, so I’d like to see a test case. 

> Make implicit conversions when generating hash join keys for an equiCondition
> -----------------------------------------------------------------------------
>
>                 Key: CALCITE-2992
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2992
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.19.0
>            Reporter: Lai Zhou
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Considering follow sql join:
>  
> {code:java}
> select t1.*,t2.*  from t1 join t2 on t1.intValue=t2.longValue
> {code}
> as known in java :
>  
> {code:java}
> Integer intValue = 2;
> Long longValue = 2L;
> Objects.equals(intValue, longValue) = false;
> {code}
> We shoudn't use the orginal Object as a key in the HashMap,
> I think it'd be better to convert hash join keys to string and compare string values.
>  



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