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

Andrey Mashenkov updated IGNITE-26014:
--------------------------------------
    Fix Version/s: 3.1

> Sql. ArrayIndexOutOfBoundsException when converting MERGE with join
> -------------------------------------------------------------------
>
>                 Key: IGNITE-26014
>                 URL: https://issues.apache.org/jira/browse/IGNITE-26014
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql ai3
>            Reporter: Konstantin Orlov
>            Assignee: Andrey Mashenkov
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.1
>
>
> Here is the reproducer:
> {code}
> CREATE TABLE t1 (id INT PRIMARY KEY, val1 INT, val2 INT);
> CREATE TABLE t2 (id INT PRIMARY KEY, val1 INT, val2 INT, val3 INT, val4 INT, 
> val5 INT);
> MERGE INTO t1 dst
>  USING (
>     SELECT t1.id, t2.val5
>       FROM t1 LEFT JOIN t2 ON t1.id = t2.id
>  ) src
>    ON src.id = dst.id
>  WHEN MATCHED THEN UPDATE SET val1 = src.val5
>  WHEN NOT MATCHED THEN INSERT (id, val1) VALUES (src.id, src.val5)
> {code}
> The script above fails with
> {code}
> Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 20 out of bounds 
> for length 14
>       at 
> org.apache.calcite.runtime.PairLists$ArrayImmutablePairList.get(PairLists.java:573)
>       at 
> org.apache.calcite.runtime.PairLists$ArrayImmutablePairList.get(PairLists.java:550)
>       at org.apache.calcite.tools.RelBuilder.inferAlias(RelBuilder.java:2421)
>       at org.apache.calcite.tools.RelBuilder.project_(RelBuilder.java:2168)
>       at org.apache.calcite.tools.RelBuilder.project(RelBuilder.java:2013)
>       at org.apache.calcite.tools.RelBuilder.project(RelBuilder.java:1996)
>       at org.apache.calcite.tools.RelBuilder.project(RelBuilder.java:1968)
>       at org.apache.calcite.tools.RelBuilder.project(RelBuilder.java:1957)
>       at 
> org.apache.ignite.internal.sql.engine.prepare.IgniteSqlToRelConvertor.convertMerge(IgniteSqlToRelConvertor.java:297)
>       at 
> org.apache.ignite.internal.sql.engine.prepare.IgniteSqlToRelConvertor.convertQueryRecursive(IgniteSqlToRelConvertor.java:81)
> {code}



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

Reply via email to