From 29ffce7d9071baf48e138262496709dd1e1dc3d1 Mon Sep 17 00:00:00 2001
From: "a.sabirov" <a.sabirov@picodata.io>
Date: Fri, 26 Jul 2024 15:29:19 +0300
Subject: [PATCH] query.ebnf(select): sync with query.pest

Definition:
https://git.picodata.io/picodata/picodata/sbroad/-/blob/b1b021bff1ea23aa8d0fb74a0ed0fd409043a6bb/sbroad-core/src/frontend/sql/query.pest#L173-179
---
 doc/sql/query.ebnf | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/doc/sql/query.ebnf b/doc/sql/query.ebnf
index b701c230c..ea55154ff 100644
--- a/doc/sql/query.ebnf
+++ b/doc/sql/query.ebnf
@@ -10,19 +10,13 @@ cte         ::= ('WITH'
                 cte ('(' column (',' column)* ')')? 'AS' '(' (select | values) ')'
                 (',' cte ('(' column (',' column)* ')')? 'AS' '(' (select | values) ')')*
                 )? select
-select      ::= 'SELECT' 'DISTINCT'?  ((projection (',' projection)*))
-                'FROM' scan
-                (
-                    ('INNER' | ('LEFT' ('OUTER')?))? 'JOIN' (
-                        (scan)
-                    )
-                    'ON' expression
-                )*
+select      ::= 'SELECT' 'DISTINCT'? projection (',' projection)* 'FROM' scan
+                (( 'INNER' | 'LEFT' 'OUTER'? )? 'JOIN' scan 'ON' expression)*
                 ('WHERE' expression)?
                 ('GROUP' 'BY' expression (',' expression)*)?
                 ('HAVING' expression)?
-                ('ORDER' 'BY' (expression ('ASC' | 'DESC')?) (',' expression ('ASC' | 'DESC')?)*)?
-                ((('UNION' 'ALL'?) | ('EXCEPT' 'DISTINCT'?)) select)*
+                ('ORDER' 'BY' expression ('ASC' | 'DESC')? (',' expression ('ASC' | 'DESC')?)*)?
+                (('UNION' 'ALL'? | 'EXCEPT' 'DISTINCT'?) select)?
 projection  ::= (table '.')? '*' | expression (('AS')? name)? | aggregate
 scan        ::= (table | '(' (select | values) ')') ('AS'? name)?
 expression  ::= (table '.')? column
-- 
GitLab