Maksim Zhuravkov created IGNITE-21462:
-----------------------------------------

             Summary: Sql. Allow setting DEFAULT in UPDATE statements.
                 Key: IGNITE-21462
                 URL: https://issues.apache.org/jira/browse/IGNITE-21462
             Project: Ignite
          Issue Type: Improvement
          Components: sql
            Reporter: Maksim Zhuravkov


According to SQL standard update statement also allows to specify DEFAULT 
instead of an expression:
{code:java}
 @Test
public void testUpdateDefault() {
   sql("CREATE TABLE t (id INTEGER PRIMARY KEY, val INTEGER DEFAULT 42)");
   sql("INSERT INTO t VALUES(1, 0)");
   sql("UPDATE t SET val = DEFAULT WHERE id = 1");
 }
{code}
But SQL parser can not parse such statement an returns an err
{code:java}
Caused by: org.apache.ignite.sql.SqlException: IGN-SQL-5 
TraceId:90bce644-7799-4b0e-b132-60b26e7ba2da Failed to parse query: Incorrect 
syntax near the keyword 'DEFAULT' at line 1, column 20
        at 
org.apache.ignite.internal.sql.engine.sql.IgniteSqlParser.convertException(IgniteSqlParser.java:203)
        at 
org.apache.ignite.internal.sql.engine.sql.IgniteSqlParser.parse(IgniteSqlParser.java:112)
        at 
org.apache.ignite.internal.sql.engine.sql.IgniteSqlParser.parse(IgniteSqlParser.java:77)
        at 
org.apache.ignite.internal.sql.engine.sql.ParserServiceImpl.parse(ParserServiceImpl.java:65)
        at 
org.apache.ignite.internal.sql.engine.SqlQueryProcessor.lambda$querySingle0$10(SqlQueryProcessor.java:572)
        at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
        ... 6 more
{code}
or:





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

Reply via email to