[
https://issues.apache.org/jira/browse/IGNITE-19702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17830398#comment-17830398
]
Anatoli Karman commented on IGNITE-19702:
-----------------------------------------
Somewhat similar issue has been encountered for UUID data type insert
statements that use default values.
{*}Queries to reproduce{*}:
{code:java}
create table createTableWithDefaultValues(key INTEGER not null, val UUID not
null default '4a2f1859-c73b-4eec-a29c-629ec68d8735', primary key (key));
insert into createTableWithDefaultValues(key) values (106080);{code}
Results in a _*java.lang.IllegalArgumentException*_
{code:java}
Caused by: java.lang.IllegalArgumentException
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:129)
at org.apache.calcite.rex.RexLiteral.<init>(RexLiteral.java:231)
at org.apache.calcite.rex.RexBuilder.makeLiteral(RexBuilder.java:1034)
at
org.apache.ignite.internal.sql.engine.rex.IgniteRexBuilder.makeLiteral(IgniteRexBuilder.java:55)
at org.apache.calcite.rex.RexBuilder.makeLiteral(RexBuilder.java:1577)
at
org.apache.ignite.internal.sql.engine.schema.TableDescriptorImpl.newColumnDefaultValue(TableDescriptorImpl.java:121)
at
org.apache.calcite.sql2rel.SqlToRelConverter.convertColumnList(SqlToRelConverter.java:4060)
at
org.apache.calcite.sql2rel.SqlToRelConverter.convertInsert(SqlToRelConverter.java:3856)
at
org.apache.ignite.internal.sql.engine.prepare.IgniteSqlToRelConvertor.convertInsert(IgniteSqlToRelConvertor.java:117)
at
org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3771)
at
org.apache.ignite.internal.sql.engine.prepare.IgniteSqlToRelConvertor.convertQueryRecursive(IgniteSqlToRelConvertor.java:86)
at
org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:610)
at
org.apache.ignite.internal.sql.engine.prepare.IgnitePlanner.rel(IgnitePlanner.java:342)
at
org.apache.ignite.internal.sql.engine.prepare.PlannerHelper.optimize(PlannerHelper.java:84)
at
org.apache.ignite.internal.sql.engine.prepare.PrepareServiceImpl.lambda$prepareDml$8(PrepareServiceImpl.java:400)
at
java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700){code}
> Unable to create column with default value with literal convertion
> ------------------------------------------------------------------
>
> Key: IGNITE-19702
> URL: https://issues.apache.org/jira/browse/IGNITE-19702
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Affects Versions: 3.0
> Reporter: Alexander Belyak
> Priority: Major
> Labels: ignite-3
>
> DDL command to create a column with default value fails if it require some
> type of conversion (string to time, date, timestamp, uuid). For example:
> {noformat}
> create table ttt6(key int primary key, val TIMESTAMP default '2022-02-01
> 12:12:12');{noformat}
> returns
> {noformat}
> [Code: 0, SQL State: 50000] Exception while executing query [query=create
> table ttt6(key int primary key, val TIMESTAMP default '2022-02-01
> 12:12:12')]. Error message:Unable co convert literal{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)