diff options
author | ziganshinmr <ziganshinmr@yandex-team.com> | 2024-12-11 16:43:17 +0300 |
---|---|---|
committer | ziganshinmr <ziganshinmr@yandex-team.com> | 2024-12-11 17:43:57 +0300 |
commit | e5fb86995e297dee00808170bd7b6fede4c4172c (patch) | |
tree | 240ec00d10136ac47eab15965e26bc45baa60e73 /yql/essentials/minikql/mkql_program_builder.h | |
parent | 0ff827ab7bda8ca3b0aa91a1321eb58adedf6f97 (diff) | |
download | ydb-e5fb86995e297dee00808170bd7b6fede4c4172c.tar.gz |
BlockMapJoinCore computation node
commit_hash:7eaad4219a36a3a486c82cdbf82e7630e59e67f9
Diffstat (limited to 'yql/essentials/minikql/mkql_program_builder.h')
-rw-r--r-- | yql/essentials/minikql/mkql_program_builder.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/yql/essentials/minikql/mkql_program_builder.h b/yql/essentials/minikql/mkql_program_builder.h index 7e139cd1a9..762d3a013e 100644 --- a/yql/essentials/minikql/mkql_program_builder.h +++ b/yql/essentials/minikql/mkql_program_builder.h @@ -133,6 +133,9 @@ struct TAggInfo { std::vector<ui32> ArgsColumns; }; +std::vector<TType*> ValidateBlockStreamType(const TType* streamType, bool unwrap = true); +std::vector<TType*> ValidateBlockFlowType(const TType* flowType, bool unwrap = true); + class TProgramBuilder : public TTypeBuilder { public: TProgramBuilder(const TTypeEnvironment& env, const IFunctionRegistry& functionRegistry, bool voidWithEffects = false); @@ -255,9 +258,9 @@ public: TRuntimeNode BlockFromPg(TRuntimeNode input, TType* returnType); TRuntimeNode BlockPgResolvedCall(const std::string_view& name, ui32 id, const TArrayRef<const TRuntimeNode>& args, TType* returnType); - TRuntimeNode BlockMapJoinCore(TRuntimeNode flow, TRuntimeNode dict, - EJoinKind joinKind, const TArrayRef<const ui32>& leftKeyColumns, - const TArrayRef<const ui32>& leftKeyDrops, TType* returnType); + TRuntimeNode BlockMapJoinCore(TRuntimeNode leftStream, TRuntimeNode rightStream, EJoinKind joinKind, + const TArrayRef<const ui32>& leftKeyColumns, const TArrayRef<const ui32>& leftKeyDrops, + const TArrayRef<const ui32>& rightKeyColumns, const TArrayRef<const ui32>& rightKeyDrops, bool rightAny, TType* returnType); //-- logical functions TRuntimeNode BlockNot(TRuntimeNode data); @@ -754,7 +757,7 @@ protected: TRuntimeNode BuildWideSkipTakeBlocks(const std::string_view& callableName, TRuntimeNode flow, TRuntimeNode count); TRuntimeNode BuildBlockLogical(const std::string_view& callableName, TRuntimeNode first, TRuntimeNode second); TRuntimeNode BuildExtend(const std::string_view& callableName, const TArrayRef<const TRuntimeNode>& lists); - + TRuntimeNode BuildBlockDecimalBinary(const std::string_view& callableName, TRuntimeNode first, TRuntimeNode second); private: |