[ 
https://issues.apache.org/jira/browse/IMPALA-13483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

weihua zhang updated IMPALA-13483:
----------------------------------
    Description: 
{code:sql}
create table correlated_scalar_t1(c1 bigint, c2 bigint);
create table correlated_scalar_t2(c1 bigint, c2 bigint);
insert into correlated_scalar_t1 values (1,null),(null,1),(1,2), 
(null,2),(1,3), (2,4), (2,5), (3,3), (3,4), (20,2), (22,3), (24,4),(null,null);
insert into correlated_scalar_t2 values (1,null),(null,1),(1,4), (1,2), 
(null,3), (2,4), (3,7), (3,9),(null,null),(5,1);

select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select c1 
from correlated_scalar_t2 where correlated_scalar_t1.c1 = 
correlated_scalar_t2.c1 and correlated_scalar_t2.c2 < 4) order by c1;{code}

{code:java}
LogicalSort(sort0=[$0], dir0=[ASC]), id = 717
  LogicalProject(C1=[$0]), id = 716
    LogicalJoin(condition=[AND(=($0, $2), >($1, $3))], joinType=[inner]), id = 
715
      LogicalTableScan(table=[[default, correlated_scalar_t1]]), id = 547
      LogicalAggregate(group=[{0}], agg#0=[SINGLE_VALUE($1)]), id = 714
        LogicalProject(c11=[$0], C1=[$0]), id = 713
          LogicalFilter(condition=[AND(<($1, 4), IS NOT NULL($0))]), id = 712
            LogicalTableScan(table=[[default, correlated_scalar_t2]]), id = 549
{code}

Exception: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
I1023 19:56:24.333540 1989386 CalciteJniFrontend.java:126] 
044892e8f77df486:abfd3cda00000000] Stack 
Trace:java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at 
org.apache.impala.calcite.rel.util.CreateExprVisitor.visitInputRef(CreateExprVisitor.java:51)
        at 
org.apache.impala.calcite.rel.util.CreateExprVisitor.visitInputRef(CreateExprVisitor.java:33)
        at org.apache.calcite.rex.RexInputRef.accept(RexInputRef.java:125)
        at 
org.apache.impala.calcite.rel.util.CreateExprVisitor.visitCall(CreateExprVisitor.java:58)
        at 
org.apache.impala.calcite.rel.util.CreateExprVisitor.visitCall(CreateExprVisitor.java:33)
        at org.apache.calcite.rex.RexCall.accept(RexCall.java:189)
        at 
org.apache.impala.calcite.rel.node.ImpalaJoinRel.getConditionConjuncts(ImpalaJoinRel.java:412)
        at 
org.apache.impala.calcite.rel.node.ImpalaJoinRel.getPlanNode(ImpalaJoinRel.java:101)
        at 
org.apache.impala.calcite.rel.node.ImpalaProjectRel.getChildPlanNode(ImpalaProjectRel.java:117)
        at 
org.apache.impala.calcite.rel.node.ImpalaProjectRel.getPlanNode(ImpalaProjectRel.java:62)
        at 
org.apache.impala.calcite.rel.node.ImpalaSortRel.getChildPlanNode(ImpalaSortRel.java:141)
        at 
org.apache.impala.calcite.rel.node.ImpalaSortRel.getPlanNode(ImpalaSortRel.java:84)
        at 
org.apache.impala.calcite.service.CalcitePhysPlanCreator.create(CalcitePhysPlanCreator.java:51)
        at 
org.apache.impala.calcite.service.CalciteJniFrontend.createExecRequest(CalciteJniFrontend.java:108)
I1023 19:56:24.333645 1989386 jni-util.cc:288] 
044892e8f77df486:abfd3cda00000000] org.apache.impala.common.InternalException: 
Index: 3, Size: 3
        at 
org.apache.impala.calcite.service.CalciteJniFrontend.createExecRequest(CalciteJniFrontend.java:127)



may be related to single_value

  was:
{code:sql}
create table correlated_scalar_t1(c1 bigint, c2 bigint);
create table correlated_scalar_t2(c1 bigint, c2 bigint);
insert into correlated_scalar_t1 values (1,null),(null,1),(1,2), 
(null,2),(1,3), (2,4), (2,5), (3,3), (3,4), (20,2), (22,3), (24,4),(null,null);
insert into correlated_scalar_t2 values (1,null),(null,1),(1,4), (1,2), 
(null,3), (2,4), (3,7), (3,9),(null,null),(5,1);

select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select c1 
from correlated_scalar_t2 where correlated_scalar_t1.c1 = 
correlated_scalar_t2.c1 and correlated_scalar_t2.c2 < 4) order by c1;{code}

{code:java}
LogicalSort(sort0=[$0], dir0=[ASC]), id = 717
  LogicalProject(C1=[$0]), id = 716
    LogicalJoin(condition=[AND(=($0, $2), >($1, $3))], joinType=[inner]), id = 
715
      LogicalTableScan(table=[[default, correlated_scalar_t1]]), id = 547
      LogicalAggregate(group=[{0}], agg#0=[SINGLE_VALUE($1)]), id = 714
        LogicalProject(c11=[$0], C1=[$0]), id = 713
          LogicalFilter(condition=[AND(<($1, 4), IS NOT NULL($0))]), id = 712
            LogicalTableScan(table=[[default, correlated_scalar_t2]]), id = 549
{code}

Exception: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
I1023 19:56:24.333540 1989386 CalciteJniFrontend.java:126] 
044892e8f77df486:abfd3cda00000000] Stack 
Trace:java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at 
org.apache.impala.calcite.rel.util.CreateExprVisitor.visitInputRef(CreateExprVisitor.java:51)
        at 
org.apache.impala.calcite.rel.util.CreateExprVisitor.visitInputRef(CreateExprVisitor.java:33)
        at org.apache.calcite.rex.RexInputRef.accept(RexInputRef.java:125)
        at 
org.apache.impala.calcite.rel.util.CreateExprVisitor.visitCall(CreateExprVisitor.java:58)
        at 
org.apache.impala.calcite.rel.util.CreateExprVisitor.visitCall(CreateExprVisitor.java:33)
        at org.apache.calcite.rex.RexCall.accept(RexCall.java:189)
        at 
org.apache.impala.calcite.rel.node.ImpalaJoinRel.getConditionConjuncts(ImpalaJoinRel.java:412)
        at 
org.apache.impala.calcite.rel.node.ImpalaJoinRel.getPlanNode(ImpalaJoinRel.java:101)
        at 
org.apache.impala.calcite.rel.node.ImpalaProjectRel.getChildPlanNode(ImpalaProjectRel.java:117)
        at 
org.apache.impala.calcite.rel.node.ImpalaProjectRel.getPlanNode(ImpalaProjectRel.java:62)
        at 
org.apache.impala.calcite.rel.node.ImpalaSortRel.getChildPlanNode(ImpalaSortRel.java:141)
        at 
org.apache.impala.calcite.rel.node.ImpalaSortRel.getPlanNode(ImpalaSortRel.java:84)
        at 
org.apache.impala.calcite.service.CalcitePhysPlanCreator.create(CalcitePhysPlanCreator.java:51)
        at 
org.apache.impala.calcite.service.CalciteJniFrontend.createExecRequest(CalciteJniFrontend.java:108)
I1023 19:56:24.333645 1989386 jni-util.cc:288] 
044892e8f77df486:abfd3cda00000000] org.apache.impala.common.InternalException: 
Index: 3, Size: 3
        at 
org.apache.impala.calcite.service.CalciteJniFrontend.createExecRequest(CalciteJniFrontend.java:127)



may be unrelated to single_value


> Calcite Planner: some scalar subquery throws exception
> ------------------------------------------------------
>
>                 Key: IMPALA-13483
>                 URL: https://issues.apache.org/jira/browse/IMPALA-13483
>             Project: IMPALA
>          Issue Type: Sub-task
>            Reporter: weihua zhang
>            Priority: Major
>
> {code:sql}
> create table correlated_scalar_t1(c1 bigint, c2 bigint);
> create table correlated_scalar_t2(c1 bigint, c2 bigint);
> insert into correlated_scalar_t1 values (1,null),(null,1),(1,2), 
> (null,2),(1,3), (2,4), (2,5), (3,3), (3,4), (20,2), (22,3), 
> (24,4),(null,null);
> insert into correlated_scalar_t2 values (1,null),(null,1),(1,4), (1,2), 
> (null,3), (2,4), (3,7), (3,9),(null,null),(5,1);
> select c1 from correlated_scalar_t1 where correlated_scalar_t1.c2 > (select 
> c1 from correlated_scalar_t2 where correlated_scalar_t1.c1 = 
> correlated_scalar_t2.c1 and correlated_scalar_t2.c2 < 4) order by c1;{code}
> {code:java}
> LogicalSort(sort0=[$0], dir0=[ASC]), id = 717
>   LogicalProject(C1=[$0]), id = 716
>     LogicalJoin(condition=[AND(=($0, $2), >($1, $3))], joinType=[inner]), id 
> = 715
>       LogicalTableScan(table=[[default, correlated_scalar_t1]]), id = 547
>       LogicalAggregate(group=[{0}], agg#0=[SINGLE_VALUE($1)]), id = 714
>         LogicalProject(c11=[$0], C1=[$0]), id = 713
>           LogicalFilter(condition=[AND(<($1, 4), IS NOT NULL($0))]), id = 712
>             LogicalTableScan(table=[[default, correlated_scalar_t2]]), id = 
> 549
> {code}
> Exception: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
> I1023 19:56:24.333540 1989386 CalciteJniFrontend.java:126] 
> 044892e8f77df486:abfd3cda00000000] Stack 
> Trace:java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
>         at java.util.ArrayList.rangeCheck(ArrayList.java:659)
>         at java.util.ArrayList.get(ArrayList.java:435)
>         at 
> org.apache.impala.calcite.rel.util.CreateExprVisitor.visitInputRef(CreateExprVisitor.java:51)
>         at 
> org.apache.impala.calcite.rel.util.CreateExprVisitor.visitInputRef(CreateExprVisitor.java:33)
>         at org.apache.calcite.rex.RexInputRef.accept(RexInputRef.java:125)
>         at 
> org.apache.impala.calcite.rel.util.CreateExprVisitor.visitCall(CreateExprVisitor.java:58)
>         at 
> org.apache.impala.calcite.rel.util.CreateExprVisitor.visitCall(CreateExprVisitor.java:33)
>         at org.apache.calcite.rex.RexCall.accept(RexCall.java:189)
>         at 
> org.apache.impala.calcite.rel.node.ImpalaJoinRel.getConditionConjuncts(ImpalaJoinRel.java:412)
>         at 
> org.apache.impala.calcite.rel.node.ImpalaJoinRel.getPlanNode(ImpalaJoinRel.java:101)
>         at 
> org.apache.impala.calcite.rel.node.ImpalaProjectRel.getChildPlanNode(ImpalaProjectRel.java:117)
>         at 
> org.apache.impala.calcite.rel.node.ImpalaProjectRel.getPlanNode(ImpalaProjectRel.java:62)
>         at 
> org.apache.impala.calcite.rel.node.ImpalaSortRel.getChildPlanNode(ImpalaSortRel.java:141)
>         at 
> org.apache.impala.calcite.rel.node.ImpalaSortRel.getPlanNode(ImpalaSortRel.java:84)
>         at 
> org.apache.impala.calcite.service.CalcitePhysPlanCreator.create(CalcitePhysPlanCreator.java:51)
>         at 
> org.apache.impala.calcite.service.CalciteJniFrontend.createExecRequest(CalciteJniFrontend.java:108)
> I1023 19:56:24.333645 1989386 jni-util.cc:288] 
> 044892e8f77df486:abfd3cda00000000] 
> org.apache.impala.common.InternalException: Index: 3, Size: 3
>         at 
> org.apache.impala.calcite.service.CalciteJniFrontend.createExecRequest(CalciteJniFrontend.java:127)
> may be related to single_value



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to