summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/select.cpp
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/select.cpp
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/select.cpp')
-rw-r--r--yql/essentials/sql/v1/select.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/yql/essentials/sql/v1/select.cpp b/yql/essentials/sql/v1/select.cpp
index c6ba387e7bd..41689db592c 100644
--- a/yql/essentials/sql/v1/select.cpp
+++ b/yql/essentials/sql/v1/select.cpp
@@ -662,6 +662,10 @@ TNodePtr BuildSubqueryRef(TNodePtr subquery, const TString& alias, int tupleInde
return new TSubqueryRefNode(std::move(subquery), alias, tupleIndex);
}
+bool IsSubqueryRef(const TSourcePtr& source) {
+ return dynamic_cast<const TSubqueryRefNode*>(source.Get()) != nullptr;
+}
+
class TInvalidSubqueryRefNode: public ISource {
public:
TInvalidSubqueryRefNode(TPosition pos)