diff options
| author | vitya-smirnov <[email protected]> | 2025-10-01 20:51:41 +0300 |
|---|---|---|
| committer | vitya-smirnov <[email protected]> | 2025-10-01 21:25:50 +0300 |
| commit | f3f7b33a285e94cb3e27aaa4d9b23b543ece4106 (patch) | |
| tree | 89740eeddb803123f1ed3d6b6f7be2bcd865f68c /yql/essentials/sql/v1/source.h | |
| parent | 5cfb01d33937d2b2e038abf3b50e04136dcf7496 (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.h | 4 |
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); |
