summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/source.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/source.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/source.h')
-rw-r--r--yql/essentials/sql/v1/source.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/yql/essentials/sql/v1/source.h b/yql/essentials/sql/v1/source.h
index 20f81135cd4..bd3a0327cb2 100644
--- a/yql/essentials/sql/v1/source.h
+++ b/yql/essentials/sql/v1/source.h
@@ -164,6 +164,8 @@ namespace NSQLTranslationV1 {
return cloneArgs;
}
+ TSourcePtr MoveOutIfSource(TNodePtr& node);
+
struct TJoinLinkSettings {
enum class EStrategy {
Default,
@@ -243,6 +245,8 @@ namespace NSQLTranslationV1 {
// Implemented in select.cpp
TNodePtr BuildSubquery(TSourcePtr source, const TString& alias, bool inSubquery, int ensureTupleSize, TScopedStatePtr scoped);
TNodePtr BuildSubqueryRef(TNodePtr subquery, const TString& alias, int tupleIndex = -1);
+ bool IsSubqueryRef(const TSourcePtr& source);
+
TNodePtr BuildInvalidSubqueryRef(TPosition subqueryPos);
TNodePtr BuildSourceNode(TPosition pos, TSourcePtr source, bool checkExist = false, bool withTables = false);
TSourcePtr BuildMuxSource(TPosition pos, TVector<TSourcePtr>&& sources);