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

Pavel Tupitsyn updated IGNITE-24577:
------------------------------------
    Description: 
The following code fails:
{code:java}
        TableDefinition tableDefinition = TableDefinition.builder("Person2")
                .columns(
                        ColumnDefinition.column("ID", ColumnType.INT32),
                        ColumnDefinition.column("NAME", ColumnType.VARCHAR),
                        ColumnDefinition.column("\"FooBar\"", "VARCHAR")
                )
                .primaryKey("ID")
                .index("\"FooBar\"")
                .build();
{code}

Exception:
{code}
org.apache.ignite.sql.SqlException: IGN-SQL-3 
TraceId:505924cb-a0f2-4fff-8a91-a4695a40600e Failed to parse query: Encountered 
""FooBar"" at line 2, column 31
        at 
org.apache.ignite.internal.sql.engine.sql.IgniteSqlParser.parse(IgniteSqlParser.java:129)
        at 
org.apache.ignite.internal.sql.engine.sql.IgniteSqlParser.parse(IgniteSqlParser.java:91)
        at 
org.apache.ignite.internal.sql.engine.sql.ParserServiceImpl.parseScript(ParserServiceImpl.java:89)
        at 
org.apache.ignite.internal.sql.engine.exec.fsm.QueryExecutor.parseScript(QueryExecutor.java:260)
        at 
org.apache.ignite.internal.sql.engine.exec.fsm.ParsingPhaseHandler.lambda$handle$0(ParsingPhaseHandler.java:48)
        at 
org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:86)
{code}

Generated SQL:
{code:sql}
CREATE TABLE PUBLIC.Person2 (ID int, NAME varchar, "FooBar" VARCHAR, PRIMARY 
KEY (ID));
CREATE INDEX IF NOT EXISTS ix_"FooBar" ON PUBLIC.Person2 ("FooBar");
{code}

Removing quotes also fails
{code}
                .index("FooBar")

> Failed to validate query. Column with name 'FOOBAR' not found in table 
> 'PUBLIC.PERSON2'
{code}

> Catalog API: Failed to parse query when creating index with quoted column name
> ------------------------------------------------------------------------------
>
>                 Key: IGNITE-24577
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24577
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 3.0
>            Reporter: Pavel Tupitsyn
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.1
>
>
> The following code fails:
> {code:java}
>         TableDefinition tableDefinition = TableDefinition.builder("Person2")
>                 .columns(
>                         ColumnDefinition.column("ID", ColumnType.INT32),
>                         ColumnDefinition.column("NAME", ColumnType.VARCHAR),
>                         ColumnDefinition.column("\"FooBar\"", "VARCHAR")
>                 )
>                 .primaryKey("ID")
>                 .index("\"FooBar\"")
>                 .build();
> {code}
> Exception:
> {code}
> org.apache.ignite.sql.SqlException: IGN-SQL-3 
> TraceId:505924cb-a0f2-4fff-8a91-a4695a40600e Failed to parse query: 
> Encountered ""FooBar"" at line 2, column 31
>       at 
> org.apache.ignite.internal.sql.engine.sql.IgniteSqlParser.parse(IgniteSqlParser.java:129)
>       at 
> org.apache.ignite.internal.sql.engine.sql.IgniteSqlParser.parse(IgniteSqlParser.java:91)
>       at 
> org.apache.ignite.internal.sql.engine.sql.ParserServiceImpl.parseScript(ParserServiceImpl.java:89)
>       at 
> org.apache.ignite.internal.sql.engine.exec.fsm.QueryExecutor.parseScript(QueryExecutor.java:260)
>       at 
> org.apache.ignite.internal.sql.engine.exec.fsm.ParsingPhaseHandler.lambda$handle$0(ParsingPhaseHandler.java:48)
>       at 
> org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:86)
> {code}
> Generated SQL:
> {code:sql}
> CREATE TABLE PUBLIC.Person2 (ID int, NAME varchar, "FooBar" VARCHAR, PRIMARY 
> KEY (ID));
> CREATE INDEX IF NOT EXISTS ix_"FooBar" ON PUBLIC.Person2 ("FooBar");
> {code}
> Removing quotes also fails
> {code}
>                 .index("FooBar")
> > Failed to validate query. Column with name 'FOOBAR' not found in table 
> > 'PUBLIC.PERSON2'
> {code}



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

Reply via email to