Skip to content
Snippets Groups Projects
Unverified Commit 213932c0 authored by kyle.cao's avatar kyle.cao Committed by GitHub
Browse files

Support ascending/descending keywords (#736)


add test case

Co-authored-by: default avatarjie.wang <38901892+jievince@users.noreply.github.com>
Co-authored-by: default avatarYee <2520865+yixinglu@users.noreply.github.com>
parent 5171293c
No related branches found
No related tags found
No related merge requests found
......@@ -93,6 +93,8 @@ reserved_key_words = [
'KW_FLUSH',
'KW_SUBMIT',
'KW_ASC',
'KW_ASCENDING',
'KW_DESCENDING',
'KW_DISTINCT',
'KW_FETCH',
'KW_PROP',
......
......@@ -165,7 +165,7 @@ static constexpr size_t MAX_ABS_INTEGER = 9223372036854775808ULL;
%token KW_GET KW_DECLARE KW_GRAPH KW_META KW_STORAGE
%token KW_TTL KW_TTL_DURATION KW_TTL_COL KW_DATA KW_STOP
%token KW_FETCH KW_PROP KW_UPDATE KW_UPSERT KW_WHEN
%token KW_ORDER KW_ASC KW_LIMIT KW_OFFSET
%token KW_ORDER KW_ASC KW_LIMIT KW_OFFSET KW_ASCENDING KW_DESCENDING
%token KW_DISTINCT KW_ALL KW_OF
%token KW_BALANCE KW_LEADER KW_RESET KW_PLAN
%token KW_SHORTEST KW_PATH KW_NOLOOP
......@@ -1696,6 +1696,12 @@ order_factor
| expression KW_DESC {
$$ = new OrderFactor($1, OrderFactor::DESCEND);
}
| expression KW_ASCENDING {
$$ = new OrderFactor($1, OrderFactor::ASCEND);
}
| expression KW_DESCENDING {
$$ = new OrderFactor($1, OrderFactor::DESCEND);
}
;
order_factors
......
......@@ -120,6 +120,8 @@ IP_OCTET ([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])
"FLUSH" { return TokenType::KW_FLUSH; }
"SUBMIT" { return TokenType::KW_SUBMIT; }
"ASC" { return TokenType::KW_ASC; }
"ASCENDING" { return TokenType::KW_ASCENDING; }
"DESCENDING" { return TokenType::KW_DESCENDING; }
"DISTINCT" { return TokenType::KW_DISTINCT; }
"FETCH" { return TokenType::KW_FETCH; }
"PROP" { return TokenType::KW_PROP; }
......
......@@ -260,7 +260,7 @@ Feature: Integer Vid Match By Id
MATCH (v1) -[:like]-> (v)
WHERE id(v1) == hash('Dejounte Murray')
RETURN v.name AS Name, v.age AS Age
ORDER BY Age DESC, Name ASC
ORDER BY Age DESC, Name ASCENDING
LIMIT 3
"""
Then the result should be, in any order, with relax comparison:
......@@ -273,7 +273,7 @@ Feature: Integer Vid Match By Id
MATCH (v1) -[:like]-> (v)
WHERE id(v1) == hash('Dejounte Murray')
RETURN v.name AS Name, v.age AS Age
ORDER BY Age DESC, Name ASC
ORDER BY Age DESCENDING, Name ASC
SKIP 3
"""
Then the result should be, in any order, with relax comparison:
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment