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

Evgeny Stanilovsky updated IGNITE-22164:
----------------------------------------
    Description: 
Reproducer:
{noformat}
        sql("create table limitedChar (pk int primary key, f1 CHAR(2), f2 
CHAR(2))");
        sql("create table test1 (pk int primary key, f1 CHAR(2), f2 CHAR(2))");

        String mergeSql2 = "MERGE INTO limitedChar dst USING test1 src ON 
dst.pk = src.pk "
                + "WHEN MATCHED THEN UPDATE SET f1 = '12' "
                + "WHEN NOT MATCHED THEN INSERT (pk, f2, f1) VALUES (src.pk, 
src.f2, src.f1)";
        sql(mergeSql2);
{noformat}

Caused by: java.lang.ClassCastException: class 
org.apache.ignite.internal.sql.engine.rel.logical.IgniteLogicalTableScan cannot 
be cast to class org.apache.calcite.rel.logical.LogicalProject

  was:
Reproducer:
{noformat}
        sql("create table limitedChar (pk int primary key, f1 CHAR(2), f2 
CHAR(2))");
        sql("create table test1 (pk int primary key, f1 CHAR(2), f2 CHAR(2))");

        String mergeSql2 = "MERGE INTO limitedChar dst USING test1 src ON 
dst.pk = src.pk "
                + "WHEN MATCHED THEN UPDATE SET f1 = '12' "
                + "WHEN NOT MATCHED THEN INSERT (pk, f2, f1) VALUES (src.pk, 
src.f2, src.f1)";
        sql(mergeSql2);
{noformat}


> Sql. Merge throws exception if columns defined in different from table 
> definition order.
> ----------------------------------------------------------------------------------------
>
>                 Key: IGNITE-22164
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22164
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 3.0.0-beta1
>            Reporter: Evgeny Stanilovsky
>            Priority: Major
>              Labels: ignite-3
>
> Reproducer:
> {noformat}
>         sql("create table limitedChar (pk int primary key, f1 CHAR(2), f2 
> CHAR(2))");
>         sql("create table test1 (pk int primary key, f1 CHAR(2), f2 
> CHAR(2))");
>         String mergeSql2 = "MERGE INTO limitedChar dst USING test1 src ON 
> dst.pk = src.pk "
>                 + "WHEN MATCHED THEN UPDATE SET f1 = '12' "
>                 + "WHEN NOT MATCHED THEN INSERT (pk, f2, f1) VALUES (src.pk, 
> src.f2, src.f1)";
>         sql(mergeSql2);
> {noformat}
> Caused by: java.lang.ClassCastException: class 
> org.apache.ignite.internal.sql.engine.rel.logical.IgniteLogicalTableScan 
> cannot be cast to class org.apache.calcite.rel.logical.LogicalProject



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

Reply via email to