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