From 323073506f744378fd3b9b3db564bdd270b4c6d6 Mon Sep 17 00:00:00 2001
From: "a.tolstoy" <a.tolstoy@picodata.io>
Date: Thu, 7 Sep 2023 13:19:01 +0300
Subject: [PATCH] add UPDATE to EBNF

---
 doc/sql/query.ebnf | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/doc/sql/query.ebnf b/doc/sql/query.ebnf
index d0d8021070..9eee7fb662 100644
--- a/doc/sql/query.ebnf
+++ b/doc/sql/query.ebnf
@@ -1,7 +1,7 @@
 STATEMENT   ::= EXPLAIN | DDL | DML | DQL | ACL
 EXPLAIN     ::= 'EXPLAIN' ( DML | DQL )
 DQL         ::= (SELECT | SELECT UNION ALL SELECT | SELECT (EXCEPT 'DISTINCT'? ) SELECT ) Options?
-DML         ::= (DELETE | INSERT) Options?
+DML         ::= (DELETE | INSERT | UPDATE) Options?
 DDL         ::= CreateTable | DropTable
 ACL         ::= DropUser | CreateRole | CreateUser
 CreateRole  ::= `create role` role ('option' '(' ('timeout' '=' DOUBLE)')')?
@@ -55,4 +55,5 @@ type        ::= 'ANY'
                 | 'VARCHAR' ('(' length ')')?
 DELETE      ::= 'DELETE' 'FROM' table ('WHERE' expression)?
 INSERT      ::= 'INSERT' 'INTO' table ('(' name (',' name)* ')')? (VALUES row | SELECT )  ('on conflict' 'do'  ('nothing' | 'replace' | 'fail'))?
+UPDATE      ::= 'UPDATE' table 'set' ( name '=' ((table '.')? name) (',' name '=' (table '.')? name)* ) ( 'FROM' '(' SELECT ')' ( 'AS' name )? )? ( 'WHERE' expression )?
 
-- 
GitLab