[
https://issues.apache.org/jira/browse/IGNITE-24577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Tupitsyn updated IGNITE-24577:
------------------------------------
Ignite Flags: (was: Docs Required,Release Notes Required)
> 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
> Assignee: Tiago Marques Godinho
> 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)