diff options
author | vitya-smirnov <[email protected]> | 2025-07-10 16:18:41 +0300 |
---|---|---|
committer | vitya-smirnov <[email protected]> | 2025-07-10 16:49:06 +0300 |
commit | ab4a6f4beadc1b478f8c208d07226687821b5fc2 (patch) | |
tree | e19e74f48361d1aa73d139c23ae514ea8ab4453f /yql/essentials/sql/v1/complete/analysis/local/parser_call_stack.cpp | |
parent | ea2073d5c0897338da46444473d7649ceac2289b (diff) |
YQL-19747: Complete table functions
- Added table functions completion.
- Also fixed a bug when USEd cluster
was not added to table context at table
function argument.
- Complete folder names at `prefix`
of `LIKE`, `RANGE`, etc.
commit_hash:26be383be728796e8431f906e2815acd77645ad4
Diffstat (limited to 'yql/essentials/sql/v1/complete/analysis/local/parser_call_stack.cpp')
-rw-r--r-- | yql/essentials/sql/v1/complete/analysis/local/parser_call_stack.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/yql/essentials/sql/v1/complete/analysis/local/parser_call_stack.cpp b/yql/essentials/sql/v1/complete/analysis/local/parser_call_stack.cpp index 7b30d2a20d7..9f0501f1968 100644 --- a/yql/essentials/sql/v1/complete/analysis/local/parser_call_stack.cpp +++ b/yql/essentials/sql/v1/complete/analysis/local/parser_call_stack.cpp @@ -98,6 +98,10 @@ namespace NSQLComplete { EndsWith({RULE(Value_constructor)}, stack); } + bool IsLikelyTableFunctionStack(const TParserCallStack& stack) { + return EndsWith({RULE(Table_ref), RULE(An_id_expr), RULE(Id_expr)}, stack); + } + bool IsLikelyHintStack(const TParserCallStack& stack) { return ContainsRule(RULE(Id_hint), stack) || Contains({RULE(External_call_param), RULE(An_id)}, stack); @@ -119,6 +123,10 @@ namespace NSQLComplete { RULE(Id_table_or_type)}, stack)); } + bool IsLikelyTableArgStack(const TParserCallStack& stack) { + return Contains({RULE(Table_arg)}, stack); + } + bool IsLikelyClusterStack(const TParserCallStack& stack) { return Contains({RULE(Cluster_expr)}, stack); } |