Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/reference/sql/endpoints/translate.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ Which returns:
"sort" : [
{
"page_count" : {
"order" : "desc"
"order" : "desc",
"missing" : "_first",
"unmapped_type" : "short"
}
}
]
Expand Down
5 changes: 4 additions & 1 deletion x-pack/plugin/sql/src/main/antlr/SqlBase.g4
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ queryTerm
;

orderBy
: expression ordering=(ASC | DESC)?
: expression ordering=(ASC | DESC)? (NULLS nullOrdering=(FIRST | LAST))?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If null ordering can only be LAST, FIRST is here present for a future improvement?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've generalized this in the latest commit. Regardless the reason for it is to properly support the correct grammar if functionality-wise, this is not implemented.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've generalized this in the latest commit. Regardless the reason for it is to properly support the correct grammar if functionality-wise, this is not implemented.

;

querySpecification
Expand Down Expand Up @@ -357,6 +357,7 @@ EXISTS: 'EXISTS';
EXPLAIN: 'EXPLAIN';
EXTRACT: 'EXTRACT';
FALSE: 'FALSE';
FIRST: 'FIRST';
FORMAT: 'FORMAT';
FROM: 'FROM';
FULL: 'FULL';
Expand All @@ -368,6 +369,7 @@ IN: 'IN';
INNER: 'INNER';
IS: 'IS';
JOIN: 'JOIN';
LAST: 'LAST';
LEFT: 'LEFT';
LIKE: 'LIKE';
LIMIT: 'LIMIT';
Expand All @@ -376,6 +378,7 @@ MATCH: 'MATCH';
NATURAL: 'NATURAL';
NOT: 'NOT';
NULL: 'NULL';
NULLS: 'NULLS';
ON: 'ON';
OPTIMIZED: 'OPTIMIZED';
OR: 'OR';
Expand Down
294 changes: 150 additions & 144 deletions x-pack/plugin/sql/src/main/antlr/SqlBase.tokens
Original file line number Diff line number Diff line change
Expand Up @@ -25,85 +25,88 @@ EXISTS=24
EXPLAIN=25
EXTRACT=26
FALSE=27
FORMAT=28
FROM=29
FULL=30
FUNCTIONS=31
GRAPHVIZ=32
GROUP=33
HAVING=34
IN=35
INNER=36
IS=37
JOIN=38
LEFT=39
LIKE=40
LIMIT=41
MAPPED=42
MATCH=43
NATURAL=44
NOT=45
NULL=46
ON=47
OPTIMIZED=48
OR=49
ORDER=50
OUTER=51
PARSED=52
PHYSICAL=53
PLAN=54
RIGHT=55
RLIKE=56
QUERY=57
SCHEMAS=58
SELECT=59
SHOW=60
SYS=61
TABLE=62
TABLES=63
TEXT=64
TRUE=65
TYPE=66
TYPES=67
USING=68
VERIFY=69
WHERE=70
WITH=71
ESCAPE_ESC=72
FUNCTION_ESC=73
LIMIT_ESC=74
DATE_ESC=75
TIME_ESC=76
TIMESTAMP_ESC=77
GUID_ESC=78
ESC_END=79
EQ=80
NEQ=81
LT=82
LTE=83
GT=84
GTE=85
PLUS=86
MINUS=87
ASTERISK=88
SLASH=89
PERCENT=90
CONCAT=91
DOT=92
PARAM=93
STRING=94
INTEGER_VALUE=95
DECIMAL_VALUE=96
IDENTIFIER=97
DIGIT_IDENTIFIER=98
TABLE_IDENTIFIER=99
QUOTED_IDENTIFIER=100
BACKQUOTED_IDENTIFIER=101
SIMPLE_COMMENT=102
BRACKETED_COMMENT=103
WS=104
UNRECOGNIZED=105
DELIMITER=106
FIRST=28
FORMAT=29
FROM=30
FULL=31
FUNCTIONS=32
GRAPHVIZ=33
GROUP=34
HAVING=35
IN=36
INNER=37
IS=38
JOIN=39
LAST=40
LEFT=41
LIKE=42
LIMIT=43
MAPPED=44
MATCH=45
NATURAL=46
NOT=47
NULL=48
NULLS=49
ON=50
OPTIMIZED=51
OR=52
ORDER=53
OUTER=54
PARSED=55
PHYSICAL=56
PLAN=57
RIGHT=58
RLIKE=59
QUERY=60
SCHEMAS=61
SELECT=62
SHOW=63
SYS=64
TABLE=65
TABLES=66
TEXT=67
TRUE=68
TYPE=69
TYPES=70
USING=71
VERIFY=72
WHERE=73
WITH=74
ESCAPE_ESC=75
FUNCTION_ESC=76
LIMIT_ESC=77
DATE_ESC=78
TIME_ESC=79
TIMESTAMP_ESC=80
GUID_ESC=81
ESC_END=82
EQ=83
NEQ=84
LT=85
LTE=86
GT=87
GTE=88
PLUS=89
MINUS=90
ASTERISK=91
SLASH=92
PERCENT=93
CONCAT=94
DOT=95
PARAM=96
STRING=97
INTEGER_VALUE=98
DECIMAL_VALUE=99
IDENTIFIER=100
DIGIT_IDENTIFIER=101
TABLE_IDENTIFIER=102
QUOTED_IDENTIFIER=103
BACKQUOTED_IDENTIFIER=104
SIMPLE_COMMENT=105
BRACKETED_COMMENT=106
WS=107
UNRECOGNIZED=108
DELIMITER=109
'('=1
')'=2
','=3
Expand Down Expand Up @@ -131,68 +134,71 @@ DELIMITER=106
'EXPLAIN'=25
'EXTRACT'=26
'FALSE'=27
'FORMAT'=28
'FROM'=29
'FULL'=30
'FUNCTIONS'=31
'GRAPHVIZ'=32
'GROUP'=33
'HAVING'=34
'IN'=35
'INNER'=36
'IS'=37
'JOIN'=38
'LEFT'=39
'LIKE'=40
'LIMIT'=41
'MAPPED'=42
'MATCH'=43
'NATURAL'=44
'NOT'=45
'NULL'=46
'ON'=47
'OPTIMIZED'=48
'OR'=49
'ORDER'=50
'OUTER'=51
'PARSED'=52
'PHYSICAL'=53
'PLAN'=54
'RIGHT'=55
'RLIKE'=56
'QUERY'=57
'SCHEMAS'=58
'SELECT'=59
'SHOW'=60
'SYS'=61
'TABLE'=62
'TABLES'=63
'TEXT'=64
'TRUE'=65
'TYPE'=66
'TYPES'=67
'USING'=68
'VERIFY'=69
'WHERE'=70
'WITH'=71
'{ESCAPE'=72
'{FN'=73
'{LIMIT'=74
'{D'=75
'{T'=76
'{TS'=77
'{GUID'=78
'}'=79
'='=80
'<'=82
'<='=83
'>'=84
'>='=85
'+'=86
'-'=87
'*'=88
'/'=89
'%'=90
'||'=91
'.'=92
'?'=93
'FIRST'=28
'FORMAT'=29
'FROM'=30
'FULL'=31
'FUNCTIONS'=32
'GRAPHVIZ'=33
'GROUP'=34
'HAVING'=35
'IN'=36
'INNER'=37
'IS'=38
'JOIN'=39
'LAST'=40
'LEFT'=41
'LIKE'=42
'LIMIT'=43
'MAPPED'=44
'MATCH'=45
'NATURAL'=46
'NOT'=47
'NULL'=48
'NULLS'=49
'ON'=50
'OPTIMIZED'=51
'OR'=52
'ORDER'=53
'OUTER'=54
'PARSED'=55
'PHYSICAL'=56
'PLAN'=57
'RIGHT'=58
'RLIKE'=59
'QUERY'=60
'SCHEMAS'=61
'SELECT'=62
'SHOW'=63
'SYS'=64
'TABLE'=65
'TABLES'=66
'TEXT'=67
'TRUE'=68
'TYPE'=69
'TYPES'=70
'USING'=71
'VERIFY'=72
'WHERE'=73
'WITH'=74
'{ESCAPE'=75
'{FN'=76
'{LIMIT'=77
'{D'=78
'{T'=79
'{TS'=80
'{GUID'=81
'}'=82
'='=83
'<'=85
'<='=86
'>'=87
'>='=88
'+'=89
'-'=90
'*'=91
'/'=92
'%'=93
'||'=94
'.'=95
'?'=96
Loading