EQL - parsing order by clause

This commit is contained in:
Robin Bygrave
2016-07-13 15:28:06 +12:00
parent 9dd82c0dd7
commit e58cec8bdd
11 changed files with 1124 additions and 610 deletions
+19 -1
View File
@@ -1,7 +1,7 @@
grammar EQL;
select_statement
: select_clause? fetch_clause* where_clause? limit_clause?
: select_clause? fetch_clause* where_clause? orderby_clause? limit_clause?
;
select_clause
@@ -20,6 +20,24 @@ where_clause
: 'where' conditional_expression
;
orderby_clause
: 'order' 'by' orderby_property (',' orderby_property)*
;
orderby_property
: PATH_VARIABLE asc_desc? nulls_firstlast?
;
nulls_firstlast
: 'nulls' 'first'
| 'nulls' 'last'
;
asc_desc
: 'asc'
| 'desc'
;
limit_clause
: 'limit' NUMBER_LITERAL offset_clause?
;