[ 
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)

Reply via email to