You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "JIasen Sheng (Jira)" <ji...@apache.org> on 2020/12/31 07:34:00 UTC

[jira] [Comment Edited] (CALCITE-4188) support EnumerableBatchNestedLoopJoin in JdbcToEnumerableConverter implement

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

JIasen Sheng edited comment on CALCITE-4188 at 12/31/20, 7:33 AM:
------------------------------------------------------------------

I will remove SqlFieldAccessCorrelate. And it is necessary to distinguish between the implict and Explicit. 

Explicit dynamic parameters are generated in the sql parsing stage and assigned the corresponding index. The implicit dynamic parameters do not participate in this stage. Therefore, a unified index value cannot be generated and can only be processed according to the corresponding correlate during unparse. If we reuse sqlDynamicParam, we also need to make corresponding distinctions internally. Considering the large differences in processing, I think it would be better to use a new class.

SELECT * FROM SCOTT.emp WHERE empno <?
 sqlDynamicParam(index=0)
 =>
 SELECT * FROM SCOTT.emp WHERE ename =? And empno <?
 sqlDynamicParam(index=unKnown) sqlDynamicParam(index=0)


was (Author: angelzouxin):
I tried to convert correlate to sqlDynamicParam already.Explicit dynamic parameters are generated in the sql parsing stage and assigned the corresponding index. The implicitly dynamic parameters do not participate in this stage. Therefore, a unified index value cannot be generated and can only be processed according to the corresponding correlate during unparse. If we reuse sqlDynamicParam, we also need to make corresponding distinctions internally. Considering the large differences in processing, I think it would be better to use a new class.

SELECT * FROM SCOTT.emp WHERE empno <?
sqlDynamicParam(index=0)
=>
SELECT * FROM SCOTT.emp WHERE ename =? And empno <?
sqlDynamicParam(index=unKnown) sqlDynamicParam(index=0)

> support EnumerableBatchNestedLoopJoin in JdbcToEnumerableConverter implement
> ----------------------------------------------------------------------------
>
>                 Key: CALCITE-4188
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4188
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.25.0
>            Reporter: JIasen Sheng
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> support  EnumerableBatchNestedLoopJoin in JdbcToEnumerableConverter implement function
> ENUMERABLE_BATCH_NESTED_LOOP_JOIN_RULE make correlate RexNode, 
> when implementing,
> [https://github.com/apache/calcite/blob/eab043f4ef43112c16a9f6708e6c53a15b1cfbe0/core/src/main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java#L675]
> will throw null Exception



--
This message was sent by Atlassian Jira
(v8.3.4#803005)