summaryrefslogtreecommitdiffstats
path: root/yql/essentials/providers/common
diff options
context:
space:
mode:
authorYDBot <[email protected]>2025-10-23 18:38:13 +0000
committerYDBot <[email protected]>2025-10-23 18:38:13 +0000
commit564cf7cb2255a107b4f44c18b2a1844041f20b4d (patch)
tree6a4a60e8bde612dcc3ac7fd93fffbd36351d4e35 /yql/essentials/providers/common
parent89a17b25091c24744b7ebd0650b5b810457b1145 (diff)
parenta703d86902fd02bd8e373d959b2498c034657449 (diff)
Merge pull request #27203 from ydb-platform/merge-rightlib-251021-0051HEADmain
Diffstat (limited to 'yql/essentials/providers/common')
-rw-r--r--yql/essentials/providers/common/comp_nodes/yql_parsetypehandle.cpp1
-rw-r--r--yql/essentials/providers/common/mkql/yql_provider_mkql.cpp9
2 files changed, 10 insertions, 0 deletions
diff --git a/yql/essentials/providers/common/comp_nodes/yql_parsetypehandle.cpp b/yql/essentials/providers/common/comp_nodes/yql_parsetypehandle.cpp
index f520fb4c3b4..5bc55fb44c8 100644
--- a/yql/essentials/providers/common/comp_nodes/yql_parsetypehandle.cpp
+++ b/yql/essentials/providers/common/comp_nodes/yql_parsetypehandle.cpp
@@ -45,6 +45,7 @@ public:
// TODO: Collect type annotation directly from AST.
NYql::TTypeAnnotationContext typesCtx;
+ typesCtx.LangVer = ctx.LangVer;
auto callableTransformer = NYql::CreateExtCallableTypeAnnotationTransformer(typesCtx);
auto typeTransformer = NYql::CreateTypeAnnotationTransformer(callableTransformer, typesCtx);
if (NYql::InstantTransform(*typeTransformer, exprRoot, *exprCtxPtr) != NYql::IGraphTransformer::TStatus::Ok) {
diff --git a/yql/essentials/providers/common/mkql/yql_provider_mkql.cpp b/yql/essentials/providers/common/mkql/yql_provider_mkql.cpp
index 54a922941f6..760147b6b2c 100644
--- a/yql/essentials/providers/common/mkql/yql_provider_mkql.cpp
+++ b/yql/essentials/providers/common/mkql/yql_provider_mkql.cpp
@@ -656,6 +656,15 @@ TMkqlCommonCallableCompiler::TShared::TShared() {
{"NextValue", &TProgramBuilder::NextValue},
});
+ AddCallable("SqlConcat", [](const TExprNode& node, TMkqlBuildContext& ctx) {
+ TVector<TRuntimeNode> args;
+ for (const auto& child : node.Children()) {
+ args.push_back(MkqlBuildExpr(*child, ctx));
+ }
+
+ return ctx.ProgramBuilder.ConcatMany(args);
+ });
+
AddCallable({"MultiMap", "OrderedMultiMap"}, [](const TExprNode& node, TMkqlBuildContext& ctx) {
const auto arg = MkqlBuildExpr(node.Head(), ctx);
const auto lambda = [&](TRuntimeNode item) { return MkqlBuildWideLambda(node.Tail(), ctx, {item}); };