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

Pavel Pereslegin updated IGNITE-27635:
--------------------------------------
    Description: 
The following (incorrect) INSERT statement
{code:sql}
CREATE TABLE test(id INT PRIMARY KEY, val INT);
INSERT INTO test VALUES (1), (2), (3);
{code}

Currently fails with confusing error
{noformat}
java.lang.IndexOutOfBoundsException: index (1) must be less than size (1)
  at 
com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:1369)
  at 
com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:1351)
  at 
com.google.common.collect.SingletonImmutableList.get(SingletonImmutableList.java:46)
  at 
org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.validateQuery(IgniteSqlValidator.java:248)
  at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateInsert(SqlValidatorImpl.java:5334)
  at 
org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.validateInsert(IgniteSqlValidator.java:236)
{noformat}

Before IGNITE-26634, the error message looked like this:
{noformat}
IGN-SQL-4 Failed to validate query. From line 1, column 13 to line 1, column 
16: Number of INSERT target columns (2) does not equal number of source items 
(1)
{noformat}

  was:
Currently the following (incorrect) INSERT statement
{code:sql}
CREATE TABLE test(id INT PRIMARY KEY, val INT);
INSERT INTO test VALUES (1), (2), (3);
{code}

Fails with confusing error
{noformat}
java.lang.IndexOutOfBoundsException: index (1) must be less than size (1)
  at 
com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:1369)
  at 
com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:1351)
  at 
com.google.common.collect.SingletonImmutableList.get(SingletonImmutableList.java:46)
  at 
org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.validateQuery(IgniteSqlValidator.java:248)
  at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateInsert(SqlValidatorImpl.java:5334)
  at 
org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.validateInsert(IgniteSqlValidator.java:236)
{noformat}

Before IGNITE-26634, the error message looked like this:
{noformat}
IGN-SQL-4 Failed to validate query. From line 1, column 13 to line 1, column 
16: Number of INSERT target columns (2) does not equal number of source items 
(1)
{noformat}


> Sql. Confusing error message when validating an INSERT with incorrect number 
> of arguments in the VALUES statement
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-27635
>                 URL: https://issues.apache.org/jira/browse/IGNITE-27635
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql ai3
>            Reporter: Pavel Pereslegin
>            Priority: Major
>              Labels: ignite-3
>
> The following (incorrect) INSERT statement
> {code:sql}
> CREATE TABLE test(id INT PRIMARY KEY, val INT);
> INSERT INTO test VALUES (1), (2), (3);
> {code}
> Currently fails with confusing error
> {noformat}
> java.lang.IndexOutOfBoundsException: index (1) must be less than size (1)
>   at 
> com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:1369)
>   at 
> com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:1351)
>   at 
> com.google.common.collect.SingletonImmutableList.get(SingletonImmutableList.java:46)
>   at 
> org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.validateQuery(IgniteSqlValidator.java:248)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateInsert(SqlValidatorImpl.java:5334)
>   at 
> org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.validateInsert(IgniteSqlValidator.java:236)
> {noformat}
> Before IGNITE-26634, the error message looked like this:
> {noformat}
> IGN-SQL-4 Failed to validate query. From line 1, column 13 to line 1, column 
> 16: Number of INSERT target columns (2) does not equal number of source items 
> (1)
> {noformat}



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

Reply via email to