summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/proto_parser/parse_tree.h
diff options
context:
space:
mode:
authorvitya-smirnov <[email protected]>2025-10-01 20:51:41 +0300
committervitya-smirnov <[email protected]>2025-10-01 21:25:50 +0300
commitf3f7b33a285e94cb3e27aaa4d9b23b543ece4106 (patch)
tree89740eeddb803123f1ed3d6b6f7be2bcd865f68c /yql/essentials/sql/v1/proto_parser/parse_tree.h
parent5cfb01d33937d2b2e038abf3b50e04136dcf7496 (diff)
YQL-20307: Support inline subqueries
- Alter grammar to support inline subqueries. - Support inline subqueries in `sql/v1` (translator). - Introduce `sql/v1/proto_ast/parse_tree.h` for reusable parse tree predicates. - Support inline subqueries in `sql/v1/format`. - Support inline subqueries in `sql/v1/complete`. - Add some SQL-tests. - Pass all tests. commit_hash:075b2240778d071e1c7542f912d3cc83019ef849
Diffstat (limited to 'yql/essentials/sql/v1/proto_parser/parse_tree.h')
-rw-r--r--yql/essentials/sql/v1/proto_parser/parse_tree.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/yql/essentials/sql/v1/proto_parser/parse_tree.h b/yql/essentials/sql/v1/proto_parser/parse_tree.h
new file mode 100644
index 00000000000..74936d90466
--- /dev/null
+++ b/yql/essentials/sql/v1/proto_parser/parse_tree.h
@@ -0,0 +1,17 @@
+#pragma once
+
+#include <yql/essentials/parser/proto_ast/gen/v1_proto_split/SQLv1Parser.pb.main.h>
+
+namespace NSQLTranslationV1 {
+
+ using namespace NSQLv1Generated;
+
+ const TRule_tuple_or_expr* GetTupleOrExpr(const TRule_smart_parenthesis& msg);
+
+ bool IsSelect(const TRule_smart_parenthesis& msg);
+
+ bool IsSelect(const TRule_expr& msg);
+
+ bool IsOnlySubExpr(const TRule_select_subexpr& msg);
+
+} // namespace NSQLTranslationV1