summaryrefslogtreecommitdiffstats
path: root/yql/essentials/minikql/mkql_program_builder.cpp
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-06-23 13:38:54 +0300
committervvvv <[email protected]>2025-06-23 14:22:17 +0300
commit99a63eaece7367f17dac58e66e45043aa641d9f7 (patch)
treed104b51aab8eaf495f95d81525716e34b5bef983 /yql/essentials/minikql/mkql_program_builder.cpp
parenta731af300f45dd4cb0f3fd3b24c8213fe1425068 (diff)
YQL-20086 minikql
commit_hash:c35c972d6708fb1b3f34fa34a42cdae1ddf11cdc
Diffstat (limited to 'yql/essentials/minikql/mkql_program_builder.cpp')
-rw-r--r--yql/essentials/minikql/mkql_program_builder.cpp638
1 files changed, 319 insertions, 319 deletions
diff --git a/yql/essentials/minikql/mkql_program_builder.cpp b/yql/essentials/minikql/mkql_program_builder.cpp
index ce74bfdcbeb..cebc1dc1cb4 100644
--- a/yql/essentials/minikql/mkql_program_builder.cpp
+++ b/yql/essentials/minikql/mkql_program_builder.cpp
@@ -341,17 +341,17 @@ std::vector<TType*> ValidateBlockFlowType(const TType* flowType, bool unwrap) {
TProgramBuilder::TProgramBuilder(const TTypeEnvironment& env, const IFunctionRegistry& functionRegistry,
bool voidWithEffects, NYql::TLangVersion langver)
: TTypeBuilder(env)
- , FunctionRegistry(functionRegistry)
- , VoidWithEffects(voidWithEffects)
- , LangVer(langver)
+ , FunctionRegistry_(functionRegistry)
+ , VoidWithEffects_(voidWithEffects)
+ , LangVer_(langver)
{}
const TTypeEnvironment& TProgramBuilder::GetTypeEnvironment() const {
- return Env;
+ return Env_;
}
const IFunctionRegistry& TProgramBuilder::GetFunctionRegistry() const {
- return FunctionRegistry;
+ return FunctionRegistry_;
}
TType* TProgramBuilder::ChooseCommonType(TType* type1, TType* type2) {
@@ -402,12 +402,12 @@ TType* TProgramBuilder::BuildArithmeticCommonType(TType* type1, TType* type2) {
}
TRuntimeNode TProgramBuilder::Arg(TType* type) const {
- TCallableBuilder builder(Env, __func__, type, true);
+ TCallableBuilder builder(Env_, __func__, type, true);
return TRuntimeNode(builder.Build(), false);
}
TRuntimeNode TProgramBuilder::WideFlowArg(TType* type) const {
- TCallableBuilder builder(Env, __func__, type, true);
+ TCallableBuilder builder(Env_, __func__, type, true);
return TRuntimeNode(builder.Build(), false);
}
@@ -420,7 +420,7 @@ TRuntimeNode TProgramBuilder::Member(TRuntimeNode structObj, const std::string_v
memberType = NewOptionalType(memberType);
}
- TCallableBuilder callableBuilder(Env, __func__, memberType);
+ TCallableBuilder callableBuilder(Env_, __func__, memberType);
callableBuilder.Add(structObj);
callableBuilder.Add(NewDataLiteral<ui32>(memberIndex));
return TRuntimeNode(callableBuilder.Build(), false);
@@ -435,7 +435,7 @@ TRuntimeNode TProgramBuilder::AddMember(TRuntimeNode structObj, const std::strin
MKQL_ENSURE(oldType->IsStruct(), "Expected struct");
const auto& oldTypeDetailed = static_cast<const TStructType&>(*oldType);
- TStructTypeBuilder newTypeBuilder(Env);
+ TStructTypeBuilder newTypeBuilder(Env_);
newTypeBuilder.Reserve(oldTypeDetailed.GetMembersCount() + 1);
for (ui32 i = 0, e = oldTypeDetailed.GetMembersCount(); i < e; ++i) {
newTypeBuilder.Add(oldTypeDetailed.GetMemberName(i), oldTypeDetailed.GetMemberType(i));
@@ -446,7 +446,7 @@ TRuntimeNode TProgramBuilder::AddMember(TRuntimeNode structObj, const std::strin
for (ui32 i = 0, e = newType->GetMembersCount(); i < e; ++i) {
if (newType->GetMemberName(i) == memberName) {
// insert at position i in the struct
- TCallableBuilder callableBuilder(Env, __func__, newType);
+ TCallableBuilder callableBuilder(Env_, __func__, newType);
callableBuilder.Add(structObj);
callableBuilder.Add(memberValue);
callableBuilder.Add(NewDataLiteral<ui32>(i));
@@ -464,7 +464,7 @@ TRuntimeNode TProgramBuilder::RemoveMember(TRuntimeNode structObj, const std::st
const auto& oldTypeDetailed = static_cast<const TStructType&>(*oldType);
MKQL_ENSURE(oldTypeDetailed.GetMembersCount() > 0, "Expected non-empty struct");
- TStructTypeBuilder newTypeBuilder(Env);
+ TStructTypeBuilder newTypeBuilder(Env_);
newTypeBuilder.Reserve(oldTypeDetailed.GetMembersCount() - 1);
std::optional<ui32> memberIndex;
for (ui32 i = 0, e = oldTypeDetailed.GetMembersCount(); i < e; ++i) {
@@ -483,7 +483,7 @@ TRuntimeNode TProgramBuilder::RemoveMember(TRuntimeNode structObj, const std::st
// remove at position i in the struct
auto newType = newTypeBuilder.Build();
- TCallableBuilder callableBuilder(Env, __func__, newType);
+ TCallableBuilder callableBuilder(Env_, __func__, newType);
callableBuilder.Add(structObj);
callableBuilder.Add(NewDataLiteral<ui32>(*memberIndex));
return TRuntimeNode(callableBuilder.Build(), false);
@@ -491,14 +491,14 @@ TRuntimeNode TProgramBuilder::RemoveMember(TRuntimeNode structObj, const std::st
TRuntimeNode TProgramBuilder::Zip(const TArrayRef<const TRuntimeNode>& lists) {
if (lists.empty()) {
- return NewEmptyList(Env.GetEmptyTupleLazy()->GetGenericType());
+ return NewEmptyList(Env_.GetEmptyTupleLazy()->GetGenericType());
}
std::vector<TType*> tupleTypes;
tupleTypes.reserve(lists.size());
for (auto& list : lists) {
if (list.GetStaticType()->IsEmptyList()) {
- tupleTypes.push_back(Env.GetTypeOfVoidLazy());
+ tupleTypes.push_back(Env_.GetTypeOfVoidLazy());
continue;
}
@@ -507,8 +507,8 @@ TRuntimeNode TProgramBuilder::Zip(const TArrayRef<const TRuntimeNode>& lists) {
tupleTypes.push_back(itemType);
}
- auto returnType = TListType::Create(TTupleType::Create(tupleTypes.size(), tupleTypes.data(), Env), Env);
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ auto returnType = TListType::Create(TTupleType::Create(tupleTypes.size(), tupleTypes.data(), Env_), Env_);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
for (auto& list : lists) {
callableBuilder.Add(list);
}
@@ -518,24 +518,24 @@ TRuntimeNode TProgramBuilder::Zip(const TArrayRef<const TRuntimeNode>& lists) {
TRuntimeNode TProgramBuilder::ZipAll(const TArrayRef<const TRuntimeNode>& lists) {
if (lists.empty()) {
- return NewEmptyList(Env.GetEmptyTupleLazy()->GetGenericType());
+ return NewEmptyList(Env_.GetEmptyTupleLazy()->GetGenericType());
}
std::vector<TType*> tupleTypes;
tupleTypes.reserve(lists.size());
for (auto& list : lists) {
if (list.GetStaticType()->IsEmptyList()) {
- tupleTypes.push_back(TOptionalType::Create(Env.GetTypeOfVoidLazy(), Env));
+ tupleTypes.push_back(TOptionalType::Create(Env_.GetTypeOfVoidLazy(), Env_));
continue;
}
AS_TYPE(TListType, list.GetStaticType());
auto itemType = static_cast<const TListType&>(*list.GetStaticType()).GetItemType();
- tupleTypes.push_back(TOptionalType::Create(itemType, Env));
+ tupleTypes.push_back(TOptionalType::Create(itemType, Env_));
}
- auto returnType = TListType::Create(TTupleType::Create(tupleTypes.size(), tupleTypes.data(), Env), Env);
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ auto returnType = TListType::Create(TTupleType::Create(tupleTypes.size(), tupleTypes.data(), Env_), Env_);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
for (auto& list : lists) {
callableBuilder.Add(list);
}
@@ -553,7 +553,7 @@ TRuntimeNode TProgramBuilder::Enumerate(TRuntimeNode list, TRuntimeNode start, T
const std::array<TType*, 2U> tupleTypes = {{ NewDataType(NUdf::EDataSlot::Uint64), itemType }};
const auto returnType = NewListType(NewTupleType(tupleTypes));
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(list);
callableBuilder.Add(start);
callableBuilder.Add(step);
@@ -573,7 +573,7 @@ TRuntimeNode TProgramBuilder::Fold(TRuntimeNode list, TRuntimeNode state, const
const auto newState = handler(itemArg, stateNodeArg);
MKQL_ENSURE(newState.GetStaticType()->IsSameType(*state.GetStaticType()), "State type is changed by the handler");
- TCallableBuilder callableBuilder(Env, __func__, state.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, state.GetStaticType());
callableBuilder.Add(list);
callableBuilder.Add(state);
callableBuilder.Add(itemArg);
@@ -593,7 +593,7 @@ TRuntimeNode TProgramBuilder::Fold1(TRuntimeNode list, const TUnaryLambda& init,
MKQL_ENSURE(newState.GetStaticType()->IsSameType(*initState.GetStaticType()), "State type is changed by the handler");
- TCallableBuilder callableBuilder(Env, __func__, NewOptionalType(newState.GetStaticType()));
+ TCallableBuilder callableBuilder(Env_, __func__, NewOptionalType(newState.GetStaticType()));
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
callableBuilder.Add(initState);
@@ -626,7 +626,7 @@ TRuntimeNode TProgramBuilder::Reduce(TRuntimeNode list, TRuntimeNode state1,
const auto newState3 = handler3(itemState2Arg, state3NodeArg);
MKQL_ENSURE(newState3.GetStaticType()->IsSameType(*state3.GetStaticType()), "State 3 type is changed by the handler");
- TCallableBuilder callableBuilder(Env, __func__, newState3.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, newState3.GetStaticType());
callableBuilder.Add(list);
callableBuilder.Add(state1);
callableBuilder.Add(state3);
@@ -662,7 +662,7 @@ TRuntimeNode TProgramBuilder::Condense(TRuntimeNode flow, TRuntimeNode state,
const auto newState = handler(itemArg, stateArg);
MKQL_ENSURE(newState.GetStaticType()->IsSameType(*state.GetStaticType()), "State type is changed by the handler");
- TCallableBuilder callableBuilder(Env, __func__, flowType->IsFlow() ? NewFlowType(state.GetStaticType()) : NewStreamType(state.GetStaticType()));
+ TCallableBuilder callableBuilder(Env_, __func__, flowType->IsFlow() ? NewFlowType(state.GetStaticType()) : NewStreamType(state.GetStaticType()));
callableBuilder.Add(flow);
callableBuilder.Add(state);
callableBuilder.Add(itemArg);
@@ -700,7 +700,7 @@ TRuntimeNode TProgramBuilder::Condense1(TRuntimeNode flow, const TUnaryLambda& i
MKQL_ENSURE(newState.GetStaticType()->IsSameType(*initState.GetStaticType()), "State type is changed by the handler");
- TCallableBuilder callableBuilder(Env, __func__, flowType->IsFlow() ? NewFlowType(newState.GetStaticType()) : NewStreamType(newState.GetStaticType()));
+ TCallableBuilder callableBuilder(Env_, __func__, flowType->IsFlow() ? NewFlowType(newState.GetStaticType()) : NewStreamType(newState.GetStaticType()));
callableBuilder.Add(flow);
callableBuilder.Add(itemArg);
callableBuilder.Add(initState);
@@ -740,7 +740,7 @@ TRuntimeNode TProgramBuilder::Squeeze(TRuntimeNode stream, TRuntimeNode state,
saveArg = outSave = loadArg = outLoad = NewVoid();
}
- TCallableBuilder callableBuilder(Env, __func__, TStreamType::Create(state.GetStaticType(), Env));
+ TCallableBuilder callableBuilder(Env_, __func__, TStreamType::Create(state.GetStaticType(), Env_));
callableBuilder.Add(stream);
callableBuilder.Add(state);
callableBuilder.Add(itemArg);
@@ -780,7 +780,7 @@ TRuntimeNode TProgramBuilder::Squeeze1(TRuntimeNode stream, const TUnaryLambda&
saveArg = outSave = loadArg = outLoad = NewVoid();
}
- TCallableBuilder callableBuilder(Env, __func__, NewStreamType(newState.GetStaticType()));
+ TCallableBuilder callableBuilder(Env_, __func__, NewStreamType(newState.GetStaticType()));
callableBuilder.Add(stream);
callableBuilder.Add(itemArg);
callableBuilder.Add(initState);
@@ -797,7 +797,7 @@ TRuntimeNode TProgramBuilder::Discard(TRuntimeNode stream) {
const auto streamType = stream.GetStaticType();
MKQL_ENSURE(streamType->IsStream() || streamType->IsFlow(), "Expected stream or flow.");
- TCallableBuilder callableBuilder(Env, __func__, streamType);
+ TCallableBuilder callableBuilder(Env_, __func__, streamType);
callableBuilder.Add(stream);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -820,7 +820,7 @@ TRuntimeNode TProgramBuilder::MapNext(TRuntimeNode list, const TBinaryLambda& ha
ThrowIfListOfVoid(itemType);
- TType* nextItemType = TOptionalType::Create(itemType, Env);
+ TType* nextItemType = TOptionalType::Create(itemType, Env_);
const auto itemArg = Arg(itemType);
const auto nextItemArg = Arg(nextItemType);
@@ -828,10 +828,10 @@ TRuntimeNode TProgramBuilder::MapNext(TRuntimeNode list, const TBinaryLambda& ha
const auto newItem = handler(itemArg, nextItemArg);
const auto resultListType = listType->IsFlow() ?
- (TType*)TFlowType::Create(newItem.GetStaticType(), Env):
- (TType*)TStreamType::Create(newItem.GetStaticType(), Env);
+ (TType*)TFlowType::Create(newItem.GetStaticType(), Env_):
+ (TType*)TStreamType::Create(newItem.GetStaticType(), Env_);
- TCallableBuilder callableBuilder(Env, __func__, resultListType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultListType);
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
callableBuilder.Add(nextItemArg);
@@ -890,14 +890,14 @@ TRuntimeNode TProgramBuilder::ChainMap(TRuntimeNode list, TRuntimeNode state, co
const auto resultItemType = std::get<0U>(newItemAndState).GetStaticType();
TType* resultListType = nullptr;
if (listType->IsFlow()) {
- resultListType = TFlowType::Create(resultItemType, Env);
+ resultListType = TFlowType::Create(resultItemType, Env_);
} else if (listType->IsList()) {
- resultListType = TListType::Create(resultItemType, Env);
+ resultListType = TListType::Create(resultItemType, Env_);
} else if (listType->IsStream()) {
- resultListType = TStreamType::Create(resultItemType, Env);
+ resultListType = TStreamType::Create(resultItemType, Env_);
}
- TCallableBuilder callableBuilder(Env, __func__, resultListType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultListType);
callableBuilder.Add(list);
callableBuilder.Add(state);
callableBuilder.Add(itemArg);
@@ -938,11 +938,11 @@ TRuntimeNode TProgramBuilder::Chain1Map(TRuntimeNode list, const TUnarySplitLamb
const auto stateType = std::get<1U>(initItemAndState).GetStaticType();;
TType* resultListType = nullptr;
if (listType->IsFlow()) {
- resultListType = TFlowType::Create(resultItemType, Env);
+ resultListType = TFlowType::Create(resultItemType, Env_);
} else if (listType->IsList()) {
- resultListType = TListType::Create(resultItemType, Env);
+ resultListType = TListType::Create(resultItemType, Env_);
} else if (listType->IsStream()) {
- resultListType = TStreamType::Create(resultItemType, Env);
+ resultListType = TStreamType::Create(resultItemType, Env_);
}
const auto stateArg = Arg(stateType);
@@ -950,7 +950,7 @@ TRuntimeNode TProgramBuilder::Chain1Map(TRuntimeNode list, const TUnarySplitLamb
MKQL_ENSURE(std::get<0U>(updateItemAndState).GetStaticType()->IsSameType(*resultItemType), "Item type is changed by the handler");
MKQL_ENSURE(std::get<1U>(updateItemAndState).GetStaticType()->IsSameType(*stateType), "State type is changed by the handler");
- TCallableBuilder callableBuilder(Env, __func__, resultListType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultListType);
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
callableBuilder.Add(std::get<0U>(initItemAndState));
@@ -974,7 +974,7 @@ TRuntimeNode TProgramBuilder::Iterable(TZeroLambda lambda) {
const auto itemArg = Arg(NewNull().GetStaticType());
auto lambdaRes = lambda();
const auto resultType = NewListType(AS_TYPE(TStreamType, lambdaRes.GetStaticType())->GetItemType());
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(lambdaRes);
callableBuilder.Add(itemArg);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -986,14 +986,14 @@ TRuntimeNode TProgramBuilder::ToOptional(TRuntimeNode list) {
TRuntimeNode TProgramBuilder::Head(TRuntimeNode list) {
const auto resultType = NewOptionalType(AS_TYPE(TListType, list.GetStaticType())->GetItemType());
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::Last(TRuntimeNode list) {
const auto resultType = NewOptionalType(AS_TYPE(TListType, list.GetStaticType())->GetItemType());
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1080,7 +1080,7 @@ TRuntimeNode TProgramBuilder::BuildListSort(const std::string_view& callableName
}
}
- TCallableBuilder callableBuilder(Env, callableName, listType);
+ TCallableBuilder callableBuilder(Env_, callableName, listType);
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
callableBuilder.Add(key);
@@ -1117,7 +1117,7 @@ TRuntimeNode TProgramBuilder::BuildListNth(const std::string_view& callableName,
}
}
- TCallableBuilder callableBuilder(Env, callableName, listType);
+ TCallableBuilder callableBuilder(Env_, callableName, listType);
callableBuilder.Add(list);
callableBuilder.Add(n);
callableBuilder.Add(itemArg);
@@ -1190,7 +1190,7 @@ TRuntimeNode TProgramBuilder::BuildTake(const std::string_view& callableName, TR
MKQL_ENSURE(count.GetStaticType()->IsData(), "Expected data");
MKQL_ENSURE(static_cast<const TDataType&>(*count.GetStaticType()).GetSchemeType() == NUdf::TDataType<ui64>::Id, "Expected ui64");
- TCallableBuilder callableBuilder(Env, callableName, listType);
+ TCallableBuilder callableBuilder(Env_, callableName, listType);
callableBuilder.Add(flow);
callableBuilder.Add(count);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -1369,7 +1369,7 @@ TRuntimeNode TProgramBuilder::BuildContainerProperty(const std::string_view& cal
ThrowIfListOfVoid(itemType);
}
- TCallableBuilder callableBuilder(Env, callableName, NewDataType(NUdf::TDataType<ResultType>::Id));
+ TCallableBuilder callableBuilder(Env_, callableName, NewDataType(NUdf::TDataType<ResultType>::Id));
callableBuilder.Add(listOrDict);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1380,7 +1380,7 @@ TRuntimeNode TProgramBuilder::Length(TRuntimeNode listOrDict) {
TRuntimeNode TProgramBuilder::Iterator(TRuntimeNode list, const TArrayRef<const TRuntimeNode>& dependentNodes) {
const auto streamType = NewStreamType(AS_TYPE(TListType, list.GetStaticType())->GetItemType());
- TCallableBuilder callableBuilder(Env, __func__, streamType);
+ TCallableBuilder callableBuilder(Env_, __func__, streamType);
callableBuilder.Add(list);
for (auto node : dependentNodes) {
callableBuilder.Add(node);
@@ -1390,7 +1390,7 @@ TRuntimeNode TProgramBuilder::Iterator(TRuntimeNode list, const TArrayRef<const
TRuntimeNode TProgramBuilder::EmptyIterator(TType* streamType) {
MKQL_ENSURE(streamType->IsStream() || streamType->IsFlow(), "Expected stream or flow.");
- TCallableBuilder callableBuilder(Env, __func__, streamType);
+ TCallableBuilder callableBuilder(Env_, __func__, streamType);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1407,7 +1407,7 @@ TRuntimeNode TProgramBuilder::Collect(TRuntimeNode flow) {
THROW yexception() << "Expected flow, list or stream.";
}
- TCallableBuilder callableBuilder(Env, __func__, NewListType(itemType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewListType(itemType));
callableBuilder.Add(flow);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1417,7 +1417,7 @@ TRuntimeNode TProgramBuilder::LazyList(TRuntimeNode list) {
bool isOptional;
const auto listType = UnpackOptional(type, isOptional);
MKQL_ENSURE(listType->IsList(), "Expected list");
- TCallableBuilder callableBuilder(Env, __func__, type);
+ TCallableBuilder callableBuilder(Env_, __func__, type);
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1425,7 +1425,7 @@ TRuntimeNode TProgramBuilder::LazyList(TRuntimeNode list) {
TRuntimeNode TProgramBuilder::ForwardList(TRuntimeNode stream) {
const auto type = stream.GetStaticType();
MKQL_ENSURE(type->IsStream() || type->IsFlow(), "Expected flow or stream.");
- TCallableBuilder callableBuilder(Env, __func__, NewListType(type->IsFlow() ? AS_TYPE(TFlowType, stream)->GetItemType() : AS_TYPE(TStreamType, stream)->GetItemType()));
+ TCallableBuilder callableBuilder(Env_, __func__, NewListType(type->IsFlow() ? AS_TYPE(TFlowType, stream)->GetItemType() : AS_TYPE(TStreamType, stream)->GetItemType()));
callableBuilder.Add(stream);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1435,20 +1435,20 @@ TRuntimeNode TProgramBuilder::ToFlow(TRuntimeNode stream) {
MKQL_ENSURE(type->IsStream() || type->IsList() || type->IsOptional(), "Expected stream, list or optional.");
const auto itemType = type->IsStream() ? AS_TYPE(TStreamType, stream)->GetItemType() :
type->IsList() ? AS_TYPE(TListType, stream)->GetItemType() : AS_TYPE(TOptionalType, stream)->GetItemType();
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(itemType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(itemType));
callableBuilder.Add(stream);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::FromFlow(TRuntimeNode flow) {
MKQL_ENSURE(flow.GetStaticType()->IsFlow(), "Expected flow.");
- TCallableBuilder callableBuilder(Env, __func__, NewStreamType(AS_TYPE(TFlowType, flow)->GetItemType()));
+ TCallableBuilder callableBuilder(Env_, __func__, NewStreamType(AS_TYPE(TFlowType, flow)->GetItemType()));
callableBuilder.Add(flow);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::Steal(TRuntimeNode input) {
- TCallableBuilder callableBuilder(Env, __func__, input.GetStaticType(), true);
+ TCallableBuilder callableBuilder(Env_, __func__, input.GetStaticType(), true);
callableBuilder.Add(input);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1457,7 +1457,7 @@ TRuntimeNode TProgramBuilder::ToBlocks(TRuntimeNode flow) {
auto* flowType = AS_TYPE(TFlowType, flow.GetStaticType());
auto* blockType = NewBlockType(flowType->GetItemType(), TBlockType::EShape::Many);
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(blockType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(blockType));
callableBuilder.Add(flow);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1483,14 +1483,14 @@ TRuntimeNode TProgramBuilder::WideToBlocks(TRuntimeNode stream) {
const auto inputFlow = ToFlow(stream);
const auto wideComponents = GetWideComponents(AS_TYPE(TFlowType, inputFlow.GetStaticType()));
TType* outputMultiType = BuildWideBlockType(wideComponents);
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(outputMultiType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(outputMultiType));
callableBuilder.Add(inputFlow);
const auto outputFlow = TRuntimeNode(callableBuilder.Build(), false);
return FromFlow(outputFlow);
}
const auto wideComponents = GetWideComponents(AS_TYPE(TStreamType, stream.GetStaticType()));
TType* outputMultiType = BuildWideBlockType(wideComponents);
- TCallableBuilder callableBuilder(Env, __func__, NewStreamType(outputMultiType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewStreamType(outputMultiType));
callableBuilder.Add(stream);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1508,7 +1508,7 @@ TRuntimeNode TProgramBuilder::ListToBlocks(TRuntimeNode list) {
const auto itemBlockStructType = BuildBlockStructType(itemStructType);
- TCallableBuilder callableBuilder(Env, __func__, NewListType(itemBlockStructType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewListType(itemBlockStructType));
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1517,7 +1517,7 @@ TRuntimeNode TProgramBuilder::FromBlocks(TRuntimeNode flow) {
auto* flowType = AS_TYPE(TFlowType, flow.GetStaticType());
auto* blockType = AS_TYPE(TBlockType, flowType->GetItemType());
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(blockType->GetItemType()));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(blockType->GetItemType()));
callableBuilder.Add(flow);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1534,7 +1534,7 @@ TRuntimeNode TProgramBuilder::WideFromBlocks(TRuntimeNode stream) {
auto outputItems = ValidateBlockFlowType(inputFlow.GetStaticType());
outputItems.pop_back();
TType* outputMultiType = NewMultiType(outputItems);
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(outputMultiType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(outputMultiType));
callableBuilder.Add(inputFlow);
const auto outputFlow = TRuntimeNode(callableBuilder.Build(), false);
return FromFlow(outputFlow);
@@ -1542,7 +1542,7 @@ TRuntimeNode TProgramBuilder::WideFromBlocks(TRuntimeNode stream) {
auto outputItems = ValidateBlockStreamType(stream.GetStaticType());
outputItems.pop_back();
TType* outputMultiType = NewMultiType(outputItems);
- TCallableBuilder callableBuilder(Env, __func__, NewStreamType(outputMultiType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewStreamType(outputMultiType));
callableBuilder.Add(stream);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1560,7 +1560,7 @@ TRuntimeNode TProgramBuilder::ListFromBlocks(TRuntimeNode list) {
const auto itemStructType = ValidateBlockStructType(itemBlockStructType);
- TCallableBuilder callableBuilder(Env, __func__, NewListType(itemStructType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewListType(itemStructType));
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1586,7 +1586,7 @@ TRuntimeNode TProgramBuilder::WideSortBlocks(TRuntimeNode flow, const std::vecto
}
TRuntimeNode TProgramBuilder::AsScalar(TRuntimeNode value) {
- TCallableBuilder callableBuilder(Env, __func__, NewBlockType(value.GetStaticType(), TBlockType::EShape::Scalar));
+ TCallableBuilder callableBuilder(Env_, __func__, NewBlockType(value.GetStaticType(), TBlockType::EShape::Scalar));
callableBuilder.Add(value);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1604,7 +1604,7 @@ TRuntimeNode TProgramBuilder::ReplicateScalar(TRuntimeNode value, TRuntimeNode c
auto outputType = NewBlockType(valueType->GetItemType(), TBlockType::EShape::Many);
- TCallableBuilder callableBuilder(Env, __func__, outputType);
+ TCallableBuilder callableBuilder(Env_, __func__, outputType);
callableBuilder.Add(value);
callableBuilder.Add(count);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -1628,7 +1628,7 @@ TRuntimeNode TProgramBuilder::BlockCompress(TRuntimeNode flow, ui32 bitmapIndex)
flowItems.push_back(wideComponents[i]);
}
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(NewMultiType(flowItems)));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(NewMultiType(flowItems)));
callableBuilder.Add(flow);
callableBuilder.Add(NewDataLiteral<ui32>(bitmapIndex));
return TRuntimeNode(callableBuilder.Build(), false);
@@ -1640,7 +1640,7 @@ TRuntimeNode TProgramBuilder::BlockExpandChunked(TRuntimeNode comp) {
} else {
ValidateBlockFlowType(comp.GetStaticType());
}
- TCallableBuilder callableBuilder(Env, __func__, comp.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, comp.GetStaticType());
callableBuilder.Add(comp);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1662,7 +1662,7 @@ TRuntimeNode TProgramBuilder::BlockCoalesce(TRuntimeNode first, TRuntimeNode sec
auto outputType = NewBlockType(secondType->GetItemType(), GetResultShape({firstType, secondType}));
- TCallableBuilder callableBuilder(Env, __func__, outputType);
+ TCallableBuilder callableBuilder(Env_, __func__, outputType);
callableBuilder.Add(first);
callableBuilder.Add(second);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -1672,7 +1672,7 @@ TRuntimeNode TProgramBuilder::BlockExists(TRuntimeNode data) {
auto dataType = AS_TYPE(TBlockType, data.GetStaticType());
auto outputType = NewBlockType(NewDataType(NUdf::TDataType<bool>::Id), dataType->GetShape());
- TCallableBuilder callableBuilder(Env, __func__, outputType);
+ TCallableBuilder callableBuilder(Env_, __func__, outputType);
callableBuilder.Add(data);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1689,7 +1689,7 @@ TRuntimeNode TProgramBuilder::BlockMember(TRuntimeNode structObj, const std::str
}
auto returnType = NewBlockType(memberType, blockType->GetShape());
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(structObj);
callableBuilder.Add(NewDataLiteral<ui32>(memberIndex));
return TRuntimeNode(callableBuilder.Build(), false);
@@ -1704,11 +1704,11 @@ TRuntimeNode TProgramBuilder::BlockNth(TRuntimeNode tuple, ui32 index) {
" is not less than " << type->GetElementsCount());
auto itemType = type->GetElementType(index);
if (isOptional && !itemType->IsOptional() && !itemType->IsNull() && !itemType->IsPg()) {
- itemType = TOptionalType::Create(itemType, Env);
+ itemType = TOptionalType::Create(itemType, Env_);
}
auto returnType = NewBlockType(itemType, blockType->GetShape());
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(tuple);
callableBuilder.Add(NewDataLiteral<ui32>(index));
return TRuntimeNode(callableBuilder.Build(), false);
@@ -1728,7 +1728,7 @@ TRuntimeNode TProgramBuilder::BlockAsStruct(const TArrayRef<std::pair<std::strin
}
auto returnType = NewBlockType(NewStructType(members), resultShape);
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
for (const auto& x : args) {
callableBuilder.Add(x.second);
}
@@ -1751,7 +1751,7 @@ TRuntimeNode TProgramBuilder::BlockAsTuple(const TArrayRef<const TRuntimeNode>&
auto tupleType = NewTupleType(types);
auto returnType = NewBlockType(tupleType, resultShape);
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
for (const auto& x : args) {
callableBuilder.Add(x);
}
@@ -1760,13 +1760,13 @@ TRuntimeNode TProgramBuilder::BlockAsTuple(const TArrayRef<const TRuntimeNode>&
}
TRuntimeNode TProgramBuilder::BlockToPg(TRuntimeNode input, TType* returnType) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(input);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::BlockFromPg(TRuntimeNode input, TType* returnType) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(input);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1777,7 +1777,7 @@ TRuntimeNode TProgramBuilder::BlockNot(TRuntimeNode data) {
bool isOpt;
MKQL_ENSURE(UnpackOptionalData(dataType->GetItemType(), isOpt)->GetSchemeType() == NUdf::TDataType<bool>::Id, "Requires boolean args.");
- TCallableBuilder callableBuilder(Env, __func__, data.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, data.GetStaticType());
callableBuilder.Add(data);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1821,7 +1821,7 @@ TRuntimeNode TProgramBuilder::ListFromRange(TRuntimeNode start, TRuntimeNode end
MKQL_ENSURE(IsIntervalType(AS_TYPE(TDataType, step)->GetSchemeType()), "Expected interval");
}
- TCallableBuilder callableBuilder(Env, __func__, TListType::Create(start.GetStaticType(), Env));
+ TCallableBuilder callableBuilder(Env_, __func__, TListType::Create(start.GetStaticType(), Env_));
callableBuilder.Add(start);
callableBuilder.Add(end);
callableBuilder.Add(step);
@@ -1841,7 +1841,7 @@ TRuntimeNode TProgramBuilder::Switch(TRuntimeNode stream,
outputNodes[i] = handler(i, arg);
}
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(stream);
callableBuilder.Add(NewDataLiteral<ui64>(memoryLimitBytes));
for (ui32 i = 0; i < handlerInputs.size(); ++i) {
@@ -1880,7 +1880,7 @@ TRuntimeNode TProgramBuilder::Reverse(TRuntimeNode list) {
const auto itemType = listDetailedType->GetItemType();
ThrowIfListOfVoid(itemType);
- TCallableBuilder callableBuilder(Env, __func__, listType);
+ TCallableBuilder callableBuilder(Env_, __func__, listType);
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -1917,7 +1917,7 @@ TRuntimeNode TProgramBuilder::BuildWideTopOrSort(const std::string_view& callabl
const auto width = GetWideComponentsCount(AS_TYPE(TFlowType, flow.GetStaticType()));
MKQL_ENSURE(!keys.empty() && keys.size() <= width, "Unexpected keys count: " << keys.size());
- TCallableBuilder callableBuilder(Env, callableName, flow.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, callableName, flow.GetStaticType());
callableBuilder.Add(flow);
if (count) {
callableBuilder.Add(*count);
@@ -2005,7 +2005,7 @@ TRuntimeNode TProgramBuilder::KeepTop(TRuntimeNode count, TRuntimeNode list, TRu
}
}
- TCallableBuilder callableBuilder(Env, __func__, listType);
+ TCallableBuilder callableBuilder(Env_, __func__, listType);
callableBuilder.Add(count);
callableBuilder.Add(list);
callableBuilder.Add(item);
@@ -2023,7 +2023,7 @@ TRuntimeNode TProgramBuilder::Contains(TRuntimeNode dict, TRuntimeNode key) {
const auto keyType = AS_TYPE(TDictType, dict.GetStaticType())->GetKeyType();
MKQL_ENSURE(keyType->IsSameType(*key.GetStaticType()), "Key type mismatch. Requred: " << *keyType << ", but got: " << *key.GetStaticType());
- TCallableBuilder callableBuilder(Env, __func__, NewDataType(NUdf::TDataType<bool>::Id));
+ TCallableBuilder callableBuilder(Env_, __func__, NewDataType(NUdf::TDataType<bool>::Id));
callableBuilder.Add(dict);
callableBuilder.Add(key);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2034,7 +2034,7 @@ TRuntimeNode TProgramBuilder::Lookup(TRuntimeNode dict, TRuntimeNode key) {
const auto keyType = dictType->GetKeyType();
MKQL_ENSURE(keyType->IsSameType(*key.GetStaticType()), "Key type mismatch. Requred: " << *keyType << ", but got: " << *key.GetStaticType());
- TCallableBuilder callableBuilder(Env, __func__, NewOptionalType(dictType->GetPayloadType()));
+ TCallableBuilder callableBuilder(Env_, __func__, NewOptionalType(dictType->GetPayloadType()));
callableBuilder.Add(dict);
callableBuilder.Add(key);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2043,21 +2043,21 @@ TRuntimeNode TProgramBuilder::Lookup(TRuntimeNode dict, TRuntimeNode key) {
TRuntimeNode TProgramBuilder::DictItems(TRuntimeNode dict) {
const auto dictTypeChecked = AS_TYPE(TDictType, dict.GetStaticType());
const auto itemType = NewTupleType({ dictTypeChecked->GetKeyType(), dictTypeChecked->GetPayloadType() });
- TCallableBuilder callableBuilder(Env, __func__, NewListType(itemType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewListType(itemType));
callableBuilder.Add(dict);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::DictKeys(TRuntimeNode dict) {
const auto dictTypeChecked = AS_TYPE(TDictType, dict.GetStaticType());
- TCallableBuilder callableBuilder(Env, __func__, NewListType(dictTypeChecked->GetKeyType()));
+ TCallableBuilder callableBuilder(Env_, __func__, NewListType(dictTypeChecked->GetKeyType()));
callableBuilder.Add(dict);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::DictPayloads(TRuntimeNode dict) {
const auto dictTypeChecked = AS_TYPE(TDictType, dict.GetStaticType());
- TCallableBuilder callableBuilder(Env, __func__, NewListType(dictTypeChecked->GetPayloadType()));
+ TCallableBuilder callableBuilder(Env_, __func__, NewListType(dictTypeChecked->GetPayloadType()));
callableBuilder.Add(dict);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -2067,7 +2067,7 @@ TRuntimeNode TProgramBuilder::ToIndexDict(TRuntimeNode list) {
ThrowIfListOfVoid(itemType);
const auto keyType = NewDataType(NUdf::TDataType<ui64>::Id);
const auto dictType = NewDictType(keyType, itemType, false);
- TCallableBuilder callableBuilder(Env, __func__, dictType);
+ TCallableBuilder callableBuilder(Env_, __func__, dictType);
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -2109,7 +2109,7 @@ TRuntimeNode TProgramBuilder::JoinDict(TRuntimeNode dict1, bool isMulti1, TRunti
itemType = NewTupleType(tupleItems);
const auto returnType = NewListType(itemType);
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(dict1);
callableBuilder.Add(dict2);
callableBuilder.Add(NewDataLiteral(isMulti1));
@@ -2142,7 +2142,7 @@ TRuntimeNode TProgramBuilder::GraceJoinCommon(const TStringBuf& funcName, TRunti
std::transform(rightRenames.cbegin(), rightRenames.cend(), std::back_inserter(rightRenamesNodes), [this](const ui32 idx) { return NewDataLiteral(idx); });
- TCallableBuilder callableBuilder(Env, funcName, returnType);
+ TCallableBuilder callableBuilder(Env_, funcName, returnType);
callableBuilder.Add(flowLeft);
if (flowRight) {
callableBuilder.Add(flowRight);
@@ -2202,7 +2202,7 @@ TRuntimeNode TProgramBuilder::NarrowSqueezeToHashedDict(TRuntimeNode stream, boo
TRuntimeNode TProgramBuilder::SqueezeToList(TRuntimeNode flow, TRuntimeNode limit) {
const auto itemType = AS_TYPE(TFlowType, flow.GetStaticType())->GetItemType();
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(NewListType(itemType)));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(NewListType(itemType)));
callableBuilder.Add(flow);
callableBuilder.Add(limit);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2216,7 +2216,7 @@ TRuntimeNode TProgramBuilder::Append(TRuntimeNode list, TRuntimeNode item) {
auto itemType = item.GetStaticType();
MKQL_ENSURE(itemType->IsSameType(*listDetailedType.GetItemType()), "Types of list and item are different");
- TCallableBuilder callableBuilder(Env, __func__, listType);
+ TCallableBuilder callableBuilder(Env_, __func__, listType);
callableBuilder.Add(list);
callableBuilder.Add(item);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2230,7 +2230,7 @@ TRuntimeNode TProgramBuilder::Prepend(TRuntimeNode item, TRuntimeNode list) {
auto itemType = item.GetStaticType();
MKQL_ENSURE(itemType->IsSameType(*listDetailedType.GetItemType()), "Types of list and item are different");
- TCallableBuilder callableBuilder(Env, __func__, listType);
+ TCallableBuilder callableBuilder(Env_, __func__, listType);
callableBuilder.Add(item);
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2251,7 +2251,7 @@ TRuntimeNode TProgramBuilder::BuildExtend(const std::string_view& callableName,
PrintNode(listType2, true));
}
- TCallableBuilder callableBuilder(Env, callableName, listType);
+ TCallableBuilder callableBuilder(Env_, callableName, listType);
for (auto list : lists) {
callableBuilder.Add(list);
}
@@ -2269,117 +2269,117 @@ TRuntimeNode TProgramBuilder::OrderedExtend(const TArrayRef<const TRuntimeNode>&
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::String>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<const char*>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<const char*>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Utf8>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TUtf8>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TUtf8>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Yson>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TYson>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TYson>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Json>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TJson>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TJson>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::JsonDocument>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TJsonDocument>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TJsonDocument>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Uuid>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TUuid>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TUuid>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Date>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TDate>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TDate>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Datetime>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TDatetime>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TDatetime>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Timestamp>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TTimestamp>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TTimestamp>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Interval>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TInterval>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TInterval>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::DyNumber>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TDyNumber>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TDyNumber>::Id, Env_), true);
}
TRuntimeNode TProgramBuilder::NewDecimalLiteral(NYql::NDecimal::TInt128 data, ui8 precision, ui8 scale) const {
- return TRuntimeNode(TDataLiteral::Create(NUdf::TUnboxedValuePod(data), TDataDecimalType::Create(precision, scale, Env), Env), true);
+ return TRuntimeNode(TDataLiteral::Create(NUdf::TUnboxedValuePod(data), TDataDecimalType::Create(precision, scale, Env_), Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Date32>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TDate32>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TDate32>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Datetime64>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TDatetime64>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TDatetime64>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Timestamp64>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TTimestamp64>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TTimestamp64>::Id, Env_), true);
}
template<>
TRuntimeNode TProgramBuilder::NewDataLiteral<NUdf::EDataSlot::Interval64>(const NUdf::TStringRef& data) const {
- return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TInterval64>::Id, Env), true);
+ return TRuntimeNode(BuildDataLiteral(data, NUdf::TDataType<NUdf::TInterval64>::Id, Env_), true);
}
TRuntimeNode TProgramBuilder::NewOptional(TRuntimeNode data) {
- auto type = TOptionalType::Create(data.GetStaticType(), Env);
- return TRuntimeNode(TOptionalLiteral::Create(data, type, Env), true);
+ auto type = TOptionalType::Create(data.GetStaticType(), Env_);
+ return TRuntimeNode(TOptionalLiteral::Create(data, type, Env_), true);
}
TRuntimeNode TProgramBuilder::NewOptional(TType* optionalType, TRuntimeNode data) {
auto type = AS_TYPE(TOptionalType, optionalType);
- return TRuntimeNode(TOptionalLiteral::Create(data, type, Env), true);
+ return TRuntimeNode(TOptionalLiteral::Create(data, type, Env_), true);
}
TRuntimeNode TProgramBuilder::NewVoid() {
- return TRuntimeNode(Env.GetVoidLazy(), true);
+ return TRuntimeNode(Env_.GetVoidLazy(), true);
}
TRuntimeNode TProgramBuilder::NewEmptyListOfVoid() {
- return TRuntimeNode(Env.GetListOfVoidLazy(), true);
+ return TRuntimeNode(Env_.GetListOfVoidLazy(), true);
}
TRuntimeNode TProgramBuilder::NewEmptyOptional(TType* optionalOrPgType) {
MKQL_ENSURE(optionalOrPgType->IsOptional() || optionalOrPgType->IsPg(), "Expected optional or pg type");
if (optionalOrPgType->IsOptional()) {
- return TRuntimeNode(TOptionalLiteral::Create(static_cast<TOptionalType*>(optionalOrPgType), Env), true);
+ return TRuntimeNode(TOptionalLiteral::Create(static_cast<TOptionalType*>(optionalOrPgType), Env_), true);
}
return PgCast(NewNull(), optionalOrPgType);
}
TRuntimeNode TProgramBuilder::NewEmptyOptionalDataLiteral(NUdf::TDataTypeId schemeType) {
- return TRuntimeNode(BuildEmptyOptionalDataLiteral(schemeType, Env), true);
+ return TRuntimeNode(BuildEmptyOptionalDataLiteral(schemeType, Env_), true);
}
TRuntimeNode TProgramBuilder::NewEmptyStruct() {
- return TRuntimeNode(Env.GetEmptyStructLazy(), true);
+ return TRuntimeNode(Env_.GetEmptyStructLazy(), true);
}
TRuntimeNode TProgramBuilder::NewStruct(const TArrayRef<const std::pair<std::string_view, TRuntimeNode>>& members) {
@@ -2387,7 +2387,7 @@ TRuntimeNode TProgramBuilder::NewStruct(const TArrayRef<const std::pair<std::str
return NewEmptyStruct();
}
- TStructLiteralBuilder builder(Env);
+ TStructLiteralBuilder builder(Env_);
for (auto x : members) {
builder.Add(x.first, x.second);
}
@@ -2410,20 +2410,20 @@ TRuntimeNode TProgramBuilder::NewStruct(TType* structType, const TArrayRef<const
values[index] = members[i].second;
}
- return TRuntimeNode(TStructLiteral::Create(values.size(), values.data(), detailedStructType, Env), true);
+ return TRuntimeNode(TStructLiteral::Create(values.size(), values.data(), detailedStructType, Env_), true);
}
TRuntimeNode TProgramBuilder::NewEmptyList() {
- return TRuntimeNode(Env.GetEmptyListLazy(), true);
+ return TRuntimeNode(Env_.GetEmptyListLazy(), true);
}
TRuntimeNode TProgramBuilder::NewEmptyList(TType* itemType) {
- TListLiteralBuilder builder(Env, itemType);
+ TListLiteralBuilder builder(Env_, itemType);
return TRuntimeNode(builder.Build(), true);
}
TRuntimeNode TProgramBuilder::NewList(TType* itemType, const TArrayRef<const TRuntimeNode>& items) {
- TListLiteralBuilder builder(Env, itemType);
+ TListLiteralBuilder builder(Env_, itemType);
for (auto item : items) {
builder.Add(item);
}
@@ -2432,24 +2432,24 @@ TRuntimeNode TProgramBuilder::NewList(TType* itemType, const TArrayRef<const TRu
}
TRuntimeNode TProgramBuilder::NewEmptyDict() {
- return TRuntimeNode(Env.GetEmptyDictLazy(), true);
+ return TRuntimeNode(Env_.GetEmptyDictLazy(), true);
}
TRuntimeNode TProgramBuilder::NewDict(TType* dictType, const TArrayRef<const std::pair<TRuntimeNode, TRuntimeNode>>& items) {
MKQL_ENSURE(dictType->IsDict(), "Expected dict type");
- return TRuntimeNode(TDictLiteral::Create(items.size(), items.data(), static_cast<TDictType*>(dictType), Env), true);
+ return TRuntimeNode(TDictLiteral::Create(items.size(), items.data(), static_cast<TDictType*>(dictType), Env_), true);
}
TRuntimeNode TProgramBuilder::NewEmptyTuple() {
- return TRuntimeNode(Env.GetEmptyTupleLazy(), true);
+ return TRuntimeNode(Env_.GetEmptyTupleLazy(), true);
}
TRuntimeNode TProgramBuilder::NewTuple(TType* tupleType, const TArrayRef<const TRuntimeNode>& elements) {
MKQL_ENSURE(tupleType->IsTuple(), "Expected tuple type");
- return TRuntimeNode(TTupleLiteral::Create(elements.size(), elements.data(), static_cast<TTupleType*>(tupleType), Env), true);
+ return TRuntimeNode(TTupleLiteral::Create(elements.size(), elements.data(), static_cast<TTupleType*>(tupleType), Env_), true);
}
TRuntimeNode TProgramBuilder::NewTuple(const TArrayRef<const TRuntimeNode>& elements) {
@@ -2466,14 +2466,14 @@ TRuntimeNode TProgramBuilder::NewTuple(const TArrayRef<const TRuntimeNode>& elem
TRuntimeNode TProgramBuilder::NewVariant(TRuntimeNode item, ui32 index, TType* variantType) {
const auto type = AS_TYPE(TVariantType, variantType);
MKQL_ENSURE(type->GetUnderlyingType()->IsTuple(), "Expected tuple as underlying type");
- return TRuntimeNode(TVariantLiteral::Create(item, index, type, Env), true);
+ return TRuntimeNode(TVariantLiteral::Create(item, index, type, Env_), true);
}
TRuntimeNode TProgramBuilder::NewVariant(TRuntimeNode item, const std::string_view& member, TType* variantType) {
const auto type = AS_TYPE(TVariantType, variantType);
MKQL_ENSURE(type->GetUnderlyingType()->IsStruct(), "Expected struct as underlying type");
ui32 index = AS_TYPE(TStructType, type->GetUnderlyingType())->GetMemberIndex(member);
- return TRuntimeNode(TVariantLiteral::Create(item, index, type, Env), true);
+ return TRuntimeNode(TVariantLiteral::Create(item, index, type, Env_), true);
}
TRuntimeNode TProgramBuilder::Coalesce(TRuntimeNode data, TRuntimeNode defaultData) {
@@ -2490,7 +2490,7 @@ TRuntimeNode TProgramBuilder::Coalesce(TRuntimeNode data, TRuntimeNode defaultDa
MKQL_ENSURE(dataType->IsSameType(*defaultDataType), "Mismatch operand types");
}
- TCallableBuilder callableBuilder(Env, __func__, defaultData.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, defaultData.GetStaticType());
callableBuilder.Add(data);
callableBuilder.Add(defaultData);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2507,7 +2507,7 @@ TRuntimeNode TProgramBuilder::Unwrap(TRuntimeNode optional, TRuntimeNode message
const auto& messageTypeData = static_cast<const TDataType&>(*messageType);
MKQL_ENSURE(messageTypeData.GetSchemeType() == NUdf::TDataType<char*>::Id || messageTypeData.GetSchemeType() == NUdf::TDataType<NUdf::TUtf8>::Id, "Expected string or utf8.");
- TCallableBuilder callableBuilder(Env, __func__, underlyingType);
+ TCallableBuilder callableBuilder(Env_, __func__, underlyingType);
callableBuilder.Add(optional);
callableBuilder.Add(message);
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(file));
@@ -2613,7 +2613,7 @@ TRuntimeNode TProgramBuilder::DecimalDiv(TRuntimeNode data1, TRuntimeNode data2)
const auto returnType = isOptionalLeft || isOptionalRight ? NewOptionalType(leftType) : leftType;
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(data1);
callableBuilder.Add(data2);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2631,7 +2631,7 @@ TRuntimeNode TProgramBuilder::DecimalMod(TRuntimeNode data1, TRuntimeNode data2)
const auto returnType = isOptionalLeft || isOptionalRight ? NewOptionalType(leftType) : leftType;
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(data1);
callableBuilder.Add(data2);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2649,7 +2649,7 @@ TRuntimeNode TProgramBuilder::DecimalMul(TRuntimeNode data1, TRuntimeNode data2)
const auto returnType = isOptionalLeft || isOptionalRight ? NewOptionalType(leftType) : leftType;
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(data1);
callableBuilder.Add(data2);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2736,7 +2736,7 @@ TRuntimeNode TProgramBuilder::BuildWideSkipTakeBlocks(const std::string_view& ca
MKQL_ENSURE(count.GetStaticType()->IsData(), "Expected data");
MKQL_ENSURE(static_cast<const TDataType&>(*count.GetStaticType()).GetSchemeType() == NUdf::TDataType<ui64>::Id, "Expected ui64");
- TCallableBuilder callableBuilder(Env, callableName, flow.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, callableName, flow.GetStaticType());
callableBuilder.Add(flow);
callableBuilder.Add(count);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2753,7 +2753,7 @@ TRuntimeNode TProgramBuilder::BuildBlockLogical(const std::string_view& callable
const auto itemType = NewDataType(NUdf::TDataType<bool>::Id, isOpt1 || isOpt2);
auto outputType = NewBlockType(itemType, GetResultShape({firstType, secondType}));
- TCallableBuilder callableBuilder(Env, callableName, outputType);
+ TCallableBuilder callableBuilder(Env_, callableName, outputType);
callableBuilder.Add(first);
callableBuilder.Add(second);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2773,13 +2773,13 @@ TRuntimeNode TProgramBuilder::BuildBlockDecimalBinary(const std::string_view& ca
auto [precision, scale] = lParams;
- TType* outputType = TDataDecimalType::Create(precision, scale, Env);
+ TType* outputType = TDataDecimalType::Create(precision, scale, Env_);
if (isOpt1 || isOpt2) {
- outputType = TOptionalType::Create(outputType, Env);
+ outputType = TOptionalType::Create(outputType, Env_);
}
outputType = NewBlockType(outputType, TBlockType::EShape::Many);
- TCallableBuilder callableBuilder(Env, callableName, outputType);
+ TCallableBuilder callableBuilder(Env_, callableName, outputType);
callableBuilder.Add(first);
callableBuilder.Add(second);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -2873,7 +2873,7 @@ TRuntimeNode TProgramBuilder::BuildRangeLogical(const std::string_view& callable
MKQL_ENSURE(list.GetStaticType()->IsSameType(*lists.front().GetStaticType()), "Expecting arguments of same type");
}
- TCallableBuilder callableBuilder(Env, callableName, lists.front().GetStaticType());
+ TCallableBuilder callableBuilder(Env_, callableName, lists.front().GetStaticType());
for (auto& list : lists) {
callableBuilder.Add(list);
}
@@ -2916,7 +2916,7 @@ TRuntimeNode TProgramBuilder::If(TRuntimeNode condition, TRuntimeNode thenBranch
const bool isOptional = condOpt || thenOpt || elseOpt;
- TCallableBuilder callableBuilder(Env, __func__, isOptional ? NewOptionalType(thenUnpacked) : thenUnpacked);
+ TCallableBuilder callableBuilder(Env_, __func__, isOptional ? NewOptionalType(thenUnpacked) : thenUnpacked);
callableBuilder.Add(condition);
callableBuilder.Add(thenBranch);
callableBuilder.Add(elseBranch);
@@ -2934,7 +2934,7 @@ TRuntimeNode TProgramBuilder::If(TRuntimeNode condition, TRuntimeNode thenBranch
const auto conditionType = UnpackOptionalData(condition, condOpt);
MKQL_ENSURE(conditionType->GetSchemeType() == NUdf::TDataType<bool>::Id, "Expected bool");
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(condition);
callableBuilder.Add(thenBranch);
callableBuilder.Add(elseBranch);
@@ -2952,7 +2952,7 @@ TRuntimeNode TProgramBuilder::Ensure(TRuntimeNode value, TRuntimeNode predicate,
const auto& messageTypeData = static_cast<const TDataType&>(*messageType);
MKQL_ENSURE(messageTypeData.GetSchemeType() == NUdf::TDataType<char*>::Id || messageTypeData.GetSchemeType() == NUdf::TDataType<NUdf::TUtf8>::Id, "Expected string or utf8.");
- TCallableBuilder callableBuilder(Env, __func__, value.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, value.GetStaticType());
callableBuilder.Add(value);
callableBuilder.Add(predicate);
callableBuilder.Add(message);
@@ -2964,12 +2964,12 @@ TRuntimeNode TProgramBuilder::Ensure(TRuntimeNode value, TRuntimeNode predicate,
TRuntimeNode TProgramBuilder::SourceOf(TType* returnType) {
MKQL_ENSURE(returnType->IsFlow() || returnType->IsStream(), "Expected flow or stream.");
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::Source() {
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(NewMultiType({})));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(NewMultiType({})));
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -2988,7 +2988,7 @@ TRuntimeNode TProgramBuilder::IfPresent(TRuntimeNode optional, const TUnaryLambd
MKQL_ENSURE(thenUnpacked->IsSameType(*elseUnpacked), "Different return types in branches.");
- TCallableBuilder callableBuilder(Env, __func__, (thenOpt || elseOpt) ? NewOptionalType(thenUnpacked) : thenUnpacked);
+ TCallableBuilder callableBuilder(Env_, __func__, (thenOpt || elseOpt) ? NewOptionalType(thenUnpacked) : thenUnpacked);
callableBuilder.Add(optional);
callableBuilder.Add(itemArg);
callableBuilder.Add(then);
@@ -3032,7 +3032,7 @@ TRuntimeNode TProgramBuilder::BuildBinaryLogical(const std::string_view& callabl
MKQL_ENSURE(UnpackOptionalData(data1, isOpt1)->GetSchemeType() == NUdf::TDataType<bool>::Id, "Requires boolean args.");
MKQL_ENSURE(UnpackOptionalData(data2, isOpt2)->GetSchemeType() == NUdf::TDataType<bool>::Id, "Requires boolean args.");
const auto resultType = NewDataType(NUdf::TDataType<bool>::Id, isOpt1 || isOpt2);
- TCallableBuilder callableBuilder(Env, callableName, resultType);
+ TCallableBuilder callableBuilder(Env_, callableName, resultType);
callableBuilder.Add(data1);
callableBuilder.Add(data2);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -3073,7 +3073,7 @@ TRuntimeNode TProgramBuilder::Exists(TRuntimeNode data) {
return NewDataLiteral(true);
}
- TCallableBuilder callableBuilder(Env, __func__, NewDataType(NUdf::TDataType<bool>::Id));
+ TCallableBuilder callableBuilder(Env_, __func__, NewDataType(NUdf::TDataType<bool>::Id));
callableBuilder.Add(data);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -3081,7 +3081,7 @@ TRuntimeNode TProgramBuilder::Exists(TRuntimeNode data) {
TRuntimeNode TProgramBuilder::NewMTRand(TRuntimeNode seed) {
auto seedData = AS_TYPE(TDataType, seed);
MKQL_ENSURE(seedData->GetSchemeType() == NUdf::TDataType<ui64>::Id, "seed must be ui64");
- TCallableBuilder callableBuilder(Env, __func__, NewResourceType(RandomMTResource), true);
+ TCallableBuilder callableBuilder(Env_, __func__, NewResourceType(RandomMTResource), true);
callableBuilder.Add(seed);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -3093,20 +3093,20 @@ TRuntimeNode TProgramBuilder::NextMTRand(TRuntimeNode rand) {
const std::array<TType*, 2U> tupleTypes = {{ NewDataType(NUdf::TDataType<ui64>::Id), rand.GetStaticType() }};
auto returnType = NewTupleType(tupleTypes);
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(rand);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::AggrCountInit(TRuntimeNode value) {
- TCallableBuilder callableBuilder(Env, __func__, NewDataType(NUdf::TDataType<ui64>::Id));
+ TCallableBuilder callableBuilder(Env_, __func__, NewDataType(NUdf::TDataType<ui64>::Id));
callableBuilder.Add(value);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::AggrCountUpdate(TRuntimeNode value, TRuntimeNode state) {
MKQL_ENSURE(AS_TYPE(TDataType, state)->GetSchemeType() == NUdf::TDataType<ui64>::Id, "Expected ui64 type");
- TCallableBuilder callableBuilder(Env, __func__, NewDataType(NUdf::TDataType<ui64>::Id));
+ TCallableBuilder callableBuilder(Env_, __func__, NewDataType(NUdf::TDataType<ui64>::Id));
callableBuilder.Add(value);
callableBuilder.Add(state);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -3151,7 +3151,7 @@ TRuntimeNode TProgramBuilder::QueueCreate(TRuntimeNode initCapacity, TRuntimeNod
auto initSizeType = AS_TYPE(TDataType, initSize);
MKQL_ENSURE(initSizeType->GetSchemeType() == NUdf::TDataType<ui64>::Id, "init size must be ui64");
- TCallableBuilder callableBuilder(Env, __func__, returnType, true);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType, true);
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(tag));
callableBuilder.Add(initCapacity);
callableBuilder.Add(initSize);
@@ -3165,7 +3165,7 @@ TRuntimeNode TProgramBuilder::QueuePush(TRuntimeNode resource, TRuntimeNode valu
auto resType = AS_TYPE(TResourceType, resource);
const auto tag = resType->GetTag();
MKQL_ENSURE(tag.StartsWith(ResourceQueuePrefix), "Expected Queue resource");
- TCallableBuilder callableBuilder(Env, __func__, resource.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, resource.GetStaticType());
callableBuilder.Add(resource);
callableBuilder.Add(value);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -3175,7 +3175,7 @@ TRuntimeNode TProgramBuilder::QueuePop(TRuntimeNode resource) {
auto resType = AS_TYPE(TResourceType, resource);
const auto tag = resType->GetTag();
MKQL_ENSURE(tag.StartsWith(ResourceQueuePrefix), "Expected Queue resource");
- TCallableBuilder callableBuilder(Env, __func__, resource.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, resource.GetStaticType());
callableBuilder.Add(resource);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -3187,7 +3187,7 @@ TRuntimeNode TProgramBuilder::QueuePeek(TRuntimeNode resource, TRuntimeNode inde
MKQL_ENSURE(indexType->GetSchemeType() == NUdf::TDataType<ui64>::Id, "index size must be ui64");
const auto tag = resType->GetTag();
MKQL_ENSURE(tag.StartsWith(ResourceQueuePrefix), "Expected Queue resource");
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(resource);
callableBuilder.Add(index);
for (auto node : dependentNodes) {
@@ -3208,7 +3208,7 @@ TRuntimeNode TProgramBuilder::QueueRange(TRuntimeNode resource, TRuntimeNode beg
const auto tag = resType->GetTag();
MKQL_ENSURE(tag.StartsWith(ResourceQueuePrefix), "Expected Queue resource");
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(resource);
callableBuilder.Add(begin);
callableBuilder.Add(end);
@@ -3225,7 +3225,7 @@ TRuntimeNode TProgramBuilder::PreserveStream(TRuntimeNode stream, TRuntimeNode q
MKQL_ENSURE(outpaceType->GetSchemeType() == NUdf::TDataType<ui64>::Id, "PreserveStream: outpace size must be ui64");
const auto tag = resType->GetTag();
MKQL_ENSURE(tag.StartsWith(ResourceQueuePrefix), "PreserveStream: Expected Queue resource");
- TCallableBuilder callableBuilder(Env, __func__, streamType);
+ TCallableBuilder callableBuilder(Env_, __func__, streamType);
callableBuilder.Add(stream);
callableBuilder.Add(queue);
callableBuilder.Add(outpace);
@@ -3233,7 +3233,7 @@ TRuntimeNode TProgramBuilder::PreserveStream(TRuntimeNode stream, TRuntimeNode q
}
TRuntimeNode TProgramBuilder::Seq(const TArrayRef<const TRuntimeNode>& args, TType* returnType) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
for (auto node : args) {
callableBuilder.Add(node);
}
@@ -3248,7 +3248,7 @@ TRuntimeNode TProgramBuilder::FromYsonSimpleType(TRuntimeNode input, NUdf::TData
MKQL_ENSURE(type->IsData(), "Expected data type");
auto resDataType = NewDataType(schemeType);
auto resultType = NewOptionalType(resDataType);
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(input);
callableBuilder.Add(NewDataLiteral(static_cast<ui32>(schemeType)));
return TRuntimeNode(callableBuilder.Build(), false);
@@ -3258,7 +3258,7 @@ TRuntimeNode TProgramBuilder::TryWeakMemberFromDict(TRuntimeNode other, TRuntime
auto resDataType = NewDataType(schemeType);
auto resultType = NewOptionalType(resDataType);
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(other);
callableBuilder.Add(rest);
callableBuilder.Add(NewDataLiteral(static_cast<ui32>(schemeType)));
@@ -3271,7 +3271,7 @@ TRuntimeNode TProgramBuilder::TimezoneId(TRuntimeNode name) {
auto dataType = UnpackOptionalData(name, isOptional);
MKQL_ENSURE(dataType->GetSchemeType() == NUdf::TDataType<char*>::Id, "Expected string");
auto resultType = NewOptionalType(NewDataType(NUdf::EDataSlot::Uint16));
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(name);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -3281,7 +3281,7 @@ TRuntimeNode TProgramBuilder::TimezoneName(TRuntimeNode id) {
auto dataType = UnpackOptionalData(id, isOptional);
MKQL_ENSURE(dataType->GetSchemeType() == NUdf::TDataType<ui16>::Id, "Expected ui32");
auto resultType = NewOptionalType(NewDataType(NUdf::EDataSlot::String));
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(id);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -3307,7 +3307,7 @@ TRuntimeNode TProgramBuilder::AddTimezone(TRuntimeNode utc, TRuntimeNode id) {
}
auto resultType = NewOptionalType(NewDataType(tzType));
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(utc);
callableBuilder.Add(id);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -3341,10 +3341,10 @@ TRuntimeNode TProgramBuilder::Nth(TRuntimeNode tuple, ui32 index) {
" is not less than " << type->GetElementsCount());
auto itemType = type->GetElementType(index);
if (isOptional && !itemType->IsOptional() && !itemType->IsNull() && !itemType->IsPg()) {
- itemType = TOptionalType::Create(itemType, Env);
+ itemType = TOptionalType::Create(itemType, Env_);
}
- TCallableBuilder callableBuilder(Env, __func__, itemType);
+ TCallableBuilder callableBuilder(Env_, __func__, itemType);
callableBuilder.Add(tuple);
callableBuilder.Add(NewDataLiteral<ui32>(index));
return TRuntimeNode(callableBuilder.Build(), false);
@@ -3360,9 +3360,9 @@ TRuntimeNode TProgramBuilder::Guess(TRuntimeNode variant, ui32 tupleIndex) {
auto type = AS_TYPE(TVariantType, unpacked);
auto underlyingType = AS_TYPE(TTupleType, type->GetUnderlyingType());
MKQL_ENSURE(tupleIndex < underlyingType->GetElementsCount(), "Wrong tuple index");
- auto resType = TOptionalType::Create(underlyingType->GetElementType(tupleIndex), Env);
+ auto resType = TOptionalType::Create(underlyingType->GetElementType(tupleIndex), Env_);
- TCallableBuilder callableBuilder(Env, __func__, resType);
+ TCallableBuilder callableBuilder(Env_, __func__, resType);
callableBuilder.Add(variant);
callableBuilder.Add(NewDataLiteral<ui32>(tupleIndex));
return TRuntimeNode(callableBuilder.Build(), false);
@@ -3374,9 +3374,9 @@ TRuntimeNode TProgramBuilder::Guess(TRuntimeNode variant, const std::string_view
auto type = AS_TYPE(TVariantType, unpacked);
auto underlyingType = AS_TYPE(TStructType, type->GetUnderlyingType());
auto structIndex = underlyingType->GetMemberIndex(memberName);
- auto resType = TOptionalType::Create(underlyingType->GetMemberType(structIndex), Env);
+ auto resType = TOptionalType::Create(underlyingType->GetMemberType(structIndex), Env_);
- TCallableBuilder callableBuilder(Env, __func__, resType);
+ TCallableBuilder callableBuilder(Env_, __func__, resType);
callableBuilder.Add(variant);
callableBuilder.Add(NewDataLiteral<ui32>(structIndex));
return TRuntimeNode(callableBuilder.Build(), false);
@@ -3388,9 +3388,9 @@ TRuntimeNode TProgramBuilder::Way(TRuntimeNode variant) {
auto type = AS_TYPE(TVariantType, unpacked);
auto underlyingType = type->GetUnderlyingType();
auto dataType = NewDataType(underlyingType->IsTuple() ? NUdf::EDataSlot::Uint32 : NUdf::EDataSlot::Utf8);
- auto resType = isOptional ? TOptionalType::Create(dataType, Env) : dataType;
+ auto resType = isOptional ? TOptionalType::Create(dataType, Env_) : dataType;
- TCallableBuilder callableBuilder(Env, __func__, resType);
+ TCallableBuilder callableBuilder(Env_, __func__, resType);
callableBuilder.Add(variant);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -3400,9 +3400,9 @@ TRuntimeNode TProgramBuilder::VariantItem(TRuntimeNode variant) {
auto unpacked = UnpackOptional(variant, isOptional);
auto type = AS_TYPE(TVariantType, unpacked);
auto underlyingType = type->GetAlternativeType(0);
- auto resType = isOptional ? TOptionalType::Create(underlyingType, Env) : underlyingType;
+ auto resType = isOptional ? TOptionalType::Create(underlyingType, Env_) : underlyingType;
- TCallableBuilder callableBuilder(Env, __func__, resType);
+ TCallableBuilder callableBuilder(Env_, __func__, resType);
callableBuilder.Add(variant);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -3418,9 +3418,9 @@ TRuntimeNode TProgramBuilder::DynamicVariant(TRuntimeNode item, TRuntimeNode ind
auto indexType = UnpackOptionalData(index.GetStaticType(), isOptional);
MKQL_ENSURE(indexType->GetDataSlot() == expectedIndexSlot, "Mismatch type of index");
- auto resType = TOptionalType::Create(type, Env);
+ auto resType = TOptionalType::Create(type, Env_);
- TCallableBuilder callableBuilder(Env, __func__, resType);
+ TCallableBuilder callableBuilder(Env_, __func__, resType);
callableBuilder.Add(item);
callableBuilder.Add(index);
callableBuilder.Add(TRuntimeNode(variantType, true));
@@ -3461,7 +3461,7 @@ TRuntimeNode TProgramBuilder::VisitAll(TRuntimeNode variant, std::function<TRunt
}
}
- TCallableBuilder callableBuilder(Env, __func__, newItems.front().GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, newItems.front().GetStaticType());
callableBuilder.Add(variant);
for (ui32 i = 0; i < type->GetAlternativesCount(); ++i) {
callableBuilder.Add(items[i]);
@@ -3491,22 +3491,22 @@ TRuntimeNode TProgramBuilder::UnaryDataFunction(TRuntimeNode data, const std::st
TType* resultType;
if (flags & TDataFunctionFlags::HasBooleanResult) {
- resultType = TDataType::Create(NUdf::TDataType<bool>::Id, Env);
+ resultType = TDataType::Create(NUdf::TDataType<bool>::Id, Env_);
} else if (flags & TDataFunctionFlags::HasUi32Result) {
- resultType = TDataType::Create(NUdf::TDataType<ui32>::Id, Env);
+ resultType = TDataType::Create(NUdf::TDataType<ui32>::Id, Env_);
} else if (flags & TDataFunctionFlags::HasStringResult) {
- resultType = TDataType::Create(NUdf::TDataType<char*>::Id, Env);
+ resultType = TDataType::Create(NUdf::TDataType<char*>::Id, Env_);
} else if (flags & TDataFunctionFlags::HasOptionalResult) {
- resultType = TOptionalType::Create(type, Env);
+ resultType = TOptionalType::Create(type, Env_);
} else {
resultType = type;
}
if ((flags & TDataFunctionFlags::CommonOptionalResult) && isOptional) {
- resultType = TOptionalType::Create(resultType, Env);
+ resultType = TOptionalType::Create(resultType, Env_);
}
- TCallableBuilder callableBuilder(Env, callableName, resultType);
+ TCallableBuilder callableBuilder(Env_, callableName, resultType);
callableBuilder.Add(data);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -3532,11 +3532,11 @@ TRuntimeNode TProgramBuilder::ToDict(TRuntimeNode list, bool multi, const TUnary
auto payload = payloadSelector(itemArg);
auto payloadType = payload.GetStaticType();
if (multi) {
- payloadType = TListType::Create(payloadType, Env);
+ payloadType = TListType::Create(payloadType, Env_);
}
- auto dictType = TDictType::Create(keyType, payloadType, Env);
- TCallableBuilder callableBuilder(Env, callableName, dictType);
+ auto dictType = TDictType::Create(keyType, payloadType, Env_);
+ TCallableBuilder callableBuilder(Env_, callableName, dictType);
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
callableBuilder.Add(key);
@@ -3563,14 +3563,14 @@ TRuntimeNode TProgramBuilder::SqueezeToDict(TRuntimeNode stream, bool multi, con
auto payload = payloadSelector(itemArg);
auto payloadType = payload.GetStaticType();
if (multi) {
- payloadType = TListType::Create(payloadType, Env);
+ payloadType = TListType::Create(payloadType, Env_);
}
- auto dictType = TDictType::Create(keyType, payloadType, Env);
+ auto dictType = TDictType::Create(keyType, payloadType, Env_);
auto returnType = type->IsFlow()
- ? (TType*) TFlowType::Create(dictType, Env)
- : (TType*) TStreamType::Create(dictType, Env);
- TCallableBuilder callableBuilder(Env, callableName, returnType);
+ ? (TType*) TFlowType::Create(dictType, Env_)
+ : (TType*) TStreamType::Create(dictType, Env_);
+ TCallableBuilder callableBuilder(Env_, callableName, returnType);
callableBuilder.Add(stream);
callableBuilder.Add(itemArg);
callableBuilder.Add(key);
@@ -3597,12 +3597,12 @@ TRuntimeNode TProgramBuilder::NarrowSqueezeToDict(TRuntimeNode flow, bool multi,
auto payload = payloadSelector(itemArgs);
auto payloadType = payload.GetStaticType();
if (multi) {
- payloadType = TListType::Create(payloadType, Env);
+ payloadType = TListType::Create(payloadType, Env_);
}
- const auto dictType = TDictType::Create(keyType, payloadType, Env);
- const auto returnType = TFlowType::Create(dictType, Env);
- TCallableBuilder callableBuilder(Env, callableName, returnType);
+ const auto dictType = TDictType::Create(keyType, payloadType, Env_);
+ const auto returnType = TFlowType::Create(dictType, Env_);
+ TCallableBuilder callableBuilder(Env_, callableName, returnType);
callableBuilder.Add(flow);
std::for_each(itemArgs.cbegin(), itemArgs.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
callableBuilder.Add(key);
@@ -3614,7 +3614,7 @@ TRuntimeNode TProgramBuilder::NarrowSqueezeToDict(TRuntimeNode flow, bool multi,
}
void TProgramBuilder::ThrowIfListOfVoid(TType* type) {
- MKQL_ENSURE(!VoidWithEffects || !type->IsVoid(), "List of void is forbidden for current function");
+ MKQL_ENSURE(!VoidWithEffects_ || !type->IsVoid(), "List of void is forbidden for current function");
}
TRuntimeNode TProgramBuilder::BuildFlatMap(const std::string_view& callableName, TRuntimeNode list, const TUnaryLambda& handler)
@@ -3657,11 +3657,11 @@ TRuntimeNode TProgramBuilder::BuildFlatMap(const std::string_view& callableName,
}
const auto resultListType = listType->IsFlow() || type->IsFlow() ?
- TFlowType::Create(retItemType, Env):
+ TFlowType::Create(retItemType, Env_):
listType->IsList() ?
- (TType*)TListType::Create(retItemType, Env):
- (TType*)TStreamType::Create(retItemType, Env);
- TCallableBuilder callableBuilder(Env, callableName, resultListType);
+ (TType*)TListType::Create(retItemType, Env_):
+ (TType*)TStreamType::Create(retItemType, Env_);
+ TCallableBuilder callableBuilder(Env_, callableName, resultListType);
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
callableBuilder.Add(newList);
@@ -3683,8 +3683,8 @@ TRuntimeNode TProgramBuilder::MultiMap(TRuntimeNode list, const TExpandLambda& h
MKQL_ENSURE(retItemType->IsSameType(*newList.back().GetStaticType()), "Must be same type.");
const auto resultListType = listType->IsFlow() ?
- (TType*)TFlowType::Create(retItemType, Env) : (TType*)TListType::Create(retItemType, Env);
- TCallableBuilder callableBuilder(Env, __func__, resultListType);
+ (TType*)TFlowType::Create(retItemType, Env_) : (TType*)TListType::Create(retItemType, Env_);
+ TCallableBuilder callableBuilder(Env_, __func__, resultListType);
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
std::for_each(newList.cbegin(), newList.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
@@ -3705,7 +3705,7 @@ TRuntimeNode TProgramBuilder::NarrowMultiMap(TRuntimeNode flow, const TWideLambd
const auto retItemType = newList.front().GetStaticType();
MKQL_ENSURE(retItemType->IsSameType(*newList.back().GetStaticType()), "Must be same type.");
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(newList.front().GetStaticType()));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(newList.front().GetStaticType()));
callableBuilder.Add(flow);
std::for_each(itemArgs.cbegin(), itemArgs.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
std::for_each(newList.cbegin(), newList.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
@@ -3721,7 +3721,7 @@ TRuntimeNode TProgramBuilder::ExpandMap(TRuntimeNode flow, const TExpandLambda&
tupleItems.reserve(newItems.size());
std::transform(newItems.cbegin(), newItems.cend(), std::back_inserter(tupleItems), std::bind(&TRuntimeNode::GetStaticType, std::placeholders::_1));
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(NewMultiType(tupleItems)));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(NewMultiType(tupleItems)));
callableBuilder.Add(flow);
callableBuilder.Add(itemArg);
std::for_each(newItems.cbegin(), newItems.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
@@ -3742,7 +3742,7 @@ TRuntimeNode TProgramBuilder::WideMap(TRuntimeNode flow, const TWideLambda& hand
tupleItems.reserve(newItems.size());
std::transform(newItems.cbegin(), newItems.cend(), std::back_inserter(tupleItems), std::bind(&TRuntimeNode::GetStaticType, std::placeholders::_1));
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(NewMultiType(tupleItems)));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(NewMultiType(tupleItems)));
callableBuilder.Add(flow);
std::for_each(itemArgs.cbegin(), itemArgs.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
std::for_each(newItems.cbegin(), newItems.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
@@ -3771,7 +3771,7 @@ TRuntimeNode TProgramBuilder::WideChain1Map(TRuntimeNode flow, const TWideLambda
MKQL_ENSURE(initItems.size() == updateItems.size(), "Expected same width.");
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(NewMultiType(tupleItems)));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(NewMultiType(tupleItems)));
callableBuilder.Add(flow);
std::for_each(inputArgs.cbegin(), inputArgs.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
std::for_each(initItems.cbegin(), initItems.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
@@ -3790,7 +3790,7 @@ TRuntimeNode TProgramBuilder::NarrowMap(TRuntimeNode flow, const TNarrowLambda&
const auto newItem = handler(itemArgs);
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(newItem.GetStaticType()));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(newItem.GetStaticType()));
callableBuilder.Add(flow);
std::for_each(itemArgs.cbegin(), itemArgs.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
callableBuilder.Add(newItem);
@@ -3821,7 +3821,7 @@ TRuntimeNode TProgramBuilder::NarrowFlatMap(TRuntimeNode flow, const TNarrowLamb
THROW yexception() << "Expected flow, list or stream.";
}
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(retItemType));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(retItemType));
callableBuilder.Add(flow);
std::for_each(itemArgs.cbegin(), itemArgs.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
callableBuilder.Add(newList);
@@ -3838,7 +3838,7 @@ TRuntimeNode TProgramBuilder::BuildWideFilter(const std::string_view& callableNa
const auto predicate = handler(itemArgs);
- TCallableBuilder callableBuilder(Env, callableName, flow.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, callableName, flow.GetStaticType());
callableBuilder.Add(flow);
std::for_each(itemArgs.cbegin(), itemArgs.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
callableBuilder.Add(predicate);
@@ -3875,7 +3875,7 @@ TRuntimeNode TProgramBuilder::WideFilter(TRuntimeNode flow, TRuntimeNode limit,
const auto predicate = handler(itemArgs);
- TCallableBuilder callableBuilder(Env, __func__, flow.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, flow.GetStaticType());
callableBuilder.Add(flow);
std::for_each(itemArgs.cbegin(), itemArgs.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
callableBuilder.Add(predicate);
@@ -3904,7 +3904,7 @@ TRuntimeNode TProgramBuilder::BuildFilter(const std::string_view& callableName,
const auto& detailedPredicateType = static_cast<const TDataType&>(*predicate.GetStaticType());
MKQL_ENSURE(detailedPredicateType.GetSchemeType() == NUdf::TDataType<bool>::Id, "Expected boolean data");
- TCallableBuilder callableBuilder(Env, callableName, outputType);
+ TCallableBuilder callableBuilder(Env_, callableName, outputType);
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
callableBuilder.Add(predicate);
@@ -3933,7 +3933,7 @@ TRuntimeNode TProgramBuilder::BuildFilter(const std::string_view& callableName,
const auto& detailedPredicateType = static_cast<const TDataType&>(*predicate.GetStaticType());
MKQL_ENSURE(detailedPredicateType.GetSchemeType() == NUdf::TDataType<bool>::Id, "Expected boolean data");
- TCallableBuilder callableBuilder(Env, callableName, outputType);
+ TCallableBuilder callableBuilder(Env_, callableName, outputType);
callableBuilder.Add(list);
callableBuilder.Add(limit);
callableBuilder.Add(itemArg);
@@ -3967,7 +3967,7 @@ TRuntimeNode TProgramBuilder::BuildHeap(const std::string_view& callableName, TR
const auto rightArg = Arg(itemType);
const auto predicate = comparator(leftArg, rightArg);
- TCallableBuilder callableBuilder(Env, callableName, listType);
+ TCallableBuilder callableBuilder(Env_, callableName, listType);
callableBuilder.Add(list);
callableBuilder.Add(leftArg);
callableBuilder.Add(rightArg);
@@ -3987,7 +3987,7 @@ TRuntimeNode TProgramBuilder::BuildNth(const std::string_view& callableName, TRu
const auto rightArg = Arg(itemType);
const auto predicate = comparator(leftArg, rightArg);
- TCallableBuilder callableBuilder(Env, callableName, listType);
+ TCallableBuilder callableBuilder(Env_, callableName, listType);
callableBuilder.Add(list);
callableBuilder.Add(n);
callableBuilder.Add(leftArg);
@@ -4051,11 +4051,11 @@ TRuntimeNode TProgramBuilder::BuildMap(const std::string_view& callableName, TRu
const auto newItem = handler(itemArg);
const auto resultListType = listType->IsFlow() ?
- (TType*)TFlowType::Create(newItem.GetStaticType(), Env):
+ (TType*)TFlowType::Create(newItem.GetStaticType(), Env_):
listType->IsList() ?
- (TType*)TListType::Create(newItem.GetStaticType(), Env):
- (TType*)TStreamType::Create(newItem.GetStaticType(), Env);
- TCallableBuilder callableBuilder(Env, callableName, resultListType);
+ (TType*)TListType::Create(newItem.GetStaticType(), Env_):
+ (TType*)TStreamType::Create(newItem.GetStaticType(), Env_);
+ TCallableBuilder callableBuilder(Env_, callableName, resultListType);
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
callableBuilder.Add(newItem);
@@ -4072,9 +4072,9 @@ TRuntimeNode TProgramBuilder::Invoke(const std::string_view& funcName, TType* re
argTypes[i].first = UnpackOptionalData(arg, argTypes[i].second)->GetSchemeType();
}
- FunctionRegistry.GetBuiltins()->GetBuiltin(funcName, argTypes.data(), 1U + args.size());
+ FunctionRegistry_.GetBuiltins()->GetBuiltin(funcName, argTypes.data(), 1U + args.size());
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(funcName));
for (const auto& arg : args) {
callableBuilder.Add(arg);
@@ -4090,22 +4090,22 @@ TRuntimeNode TProgramBuilder::Udf(
const std::string_view& typeConfig
)
{
- TRuntimeNode userTypeNode = userType ? TRuntimeNode(userType, true) : TRuntimeNode(Env.GetVoidLazy()->GetType(), true);
+ TRuntimeNode userTypeNode = userType ? TRuntimeNode(userType, true) : TRuntimeNode(Env_.GetVoidLazy()->GetType(), true);
const ui32 flags = NUdf::IUdfModule::TFlags::TypesOnly;
- if (!TypeInfoHelper) {
- TypeInfoHelper = new TTypeInfoHelper();
+ if (!TypeInfoHelper_) {
+ TypeInfoHelper_ = new TTypeInfoHelper();
}
TFunctionTypeInfo funcInfo;
- TStatus status = FunctionRegistry.FindFunctionTypeInfo(
- LangVer, Env, TypeInfoHelper, nullptr, funcName, userType, typeConfig, flags, {}, nullptr, nullptr, &funcInfo);
+ TStatus status = FunctionRegistry_.FindFunctionTypeInfo(
+ LangVer_, Env_, TypeInfoHelper_, nullptr, funcName, userType, typeConfig, flags, {}, nullptr, nullptr, &funcInfo);
MKQL_ENSURE(status.IsOk(), status.GetError());
- if (funcInfo.MinLangVer != NYql::UnknownLangVersion && LangVer != NYql::UnknownLangVersion && LangVer < funcInfo.MinLangVer) {
+ if (funcInfo.MinLangVer != NYql::UnknownLangVersion && LangVer_ != NYql::UnknownLangVersion && LangVer_ < funcInfo.MinLangVer) {
throw yexception() << "UDF " << funcName << " is not available in given language version yet";
}
- if (funcInfo.MaxLangVer != NYql::UnknownLangVersion && LangVer != NYql::UnknownLangVersion && LangVer > funcInfo.MaxLangVer) {
+ if (funcInfo.MaxLangVer != NYql::UnknownLangVersion && LangVer_ != NYql::UnknownLangVersion && LangVer_ > funcInfo.MaxLangVer) {
throw yexception() << "UDF " << funcName << " is not available in given language version anymore";
}
@@ -4125,7 +4125,7 @@ TRuntimeNode TProgramBuilder::Udf(
auto funNameNode = NewDataLiteral<NUdf::EDataSlot::String>(funcName);
auto typeConfigNode = NewDataLiteral<NUdf::EDataSlot::String>(typeConfig);
- TCallableBuilder callableBuilder(Env, __func__, funcInfo.FunctionType);
+ TCallableBuilder callableBuilder(Env_, __func__, funcInfo.FunctionType);
callableBuilder.Add(funNameNode);
callableBuilder.Add(userTypeNode);
callableBuilder.Add(typeConfigNode);
@@ -4146,9 +4146,9 @@ TRuntimeNode TProgramBuilder::TypedUdf(
{
auto funNameNode = NewDataLiteral<NUdf::EDataSlot::String>(funcName);
auto typeConfigNode = NewDataLiteral<NUdf::EDataSlot::String>(typeConfig);
- TRuntimeNode userTypeNode = userType ? TRuntimeNode(userType, true) : TRuntimeNode(Env.GetVoidLazy(), true);
+ TRuntimeNode userTypeNode = userType ? TRuntimeNode(userType, true) : TRuntimeNode(Env_.GetVoidLazy(), true);
- TCallableBuilder callableBuilder(Env, "Udf", funcType);
+ TCallableBuilder callableBuilder(Env_, "Udf", funcType);
callableBuilder.Add(funNameNode);
callableBuilder.Add(userTypeNode);
callableBuilder.Add(typeConfigNode);
@@ -4173,7 +4173,7 @@ TRuntimeNode TProgramBuilder::ScriptUdf(
MKQL_ENSURE(funcType->IsCallable(), "type must be callable");
auto scriptType = NKikimr::NMiniKQL::ScriptTypeFromStr(moduleName);
MKQL_ENSURE(scriptType != EScriptType::Unknown, "unknown script type '" << moduleName << "'");
- EnsureScriptSpecificTypes(scriptType, static_cast<TCallableType*>(funcType), Env.GetNodeStack());
+ EnsureScriptSpecificTypes(scriptType, static_cast<TCallableType*>(funcType), Env_.GetNodeStack());
auto scriptTypeStr = IsCustomPython(scriptType) ? moduleName : ScriptTypeAsStr(CanonizeScriptType(scriptType));
@@ -4184,7 +4184,7 @@ TRuntimeNode TProgramBuilder::ScriptUdf(
TRuntimeNode userTypeNode(funcType, true);
auto typeConfigNode = NewDataLiteral<NUdf::EDataSlot::String>("");
- TCallableBuilder callableBuilder(Env, __func__, funcType);
+ TCallableBuilder callableBuilder(Env_, __func__, funcType);
callableBuilder.Add(funcNameNode);
callableBuilder.Add(userTypeNode);
callableBuilder.Add(typeConfigNode);
@@ -4219,7 +4219,7 @@ TRuntimeNode TProgramBuilder::Apply(TRuntimeNode callableNode, const TArrayRef<c
<< " with static " << arg.GetStaticType()->GetKindAsStr());
}
- TCallableBuilder callableBuilder(Env, "Apply2", callableType->GetReturnType());
+ TCallableBuilder callableBuilder(Env_, "Apply2", callableType->GetReturnType());
callableBuilder.Add(callableNode);
callableBuilder.Add(NewDataLiteral<ui32>(dependentCount));
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(file));
@@ -4249,7 +4249,7 @@ TRuntimeNode TProgramBuilder::Callable(TType* callableType, const TArrayLambda&
}
auto res = handler(args);
- TCallableBuilder callableBuilder(Env, __func__, callableType);
+ TCallableBuilder callableBuilder(Env_, __func__, callableType);
for (ui32 i = 0; i < castedCallableType->GetArgumentsCount(); ++i) {
callableBuilder.Add(args[i]);
}
@@ -4259,10 +4259,10 @@ TRuntimeNode TProgramBuilder::Callable(TType* callableType, const TArrayLambda&
}
TRuntimeNode TProgramBuilder::NewNull() {
- if (UseNullType) {
- return TRuntimeNode(Env.GetNullLazy(), true);
+ if (UseNullType_) {
+ return TRuntimeNode(Env_.GetNullLazy(), true);
}
- TCallableBuilder callableBuilder(Env, "Null", NewOptionalType(Env.GetVoidLazy()->GetType()));
+ TCallableBuilder callableBuilder(Env_, "Null", NewOptionalType(Env_.GetVoidLazy()->GetType()));
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -4329,7 +4329,7 @@ TRuntimeNode TProgramBuilder::ToString(TRuntimeNode data) {
UnpackOptionalData(data, isOptional);
const auto resultType = NewDataType(Utf8 ? NUdf::EDataSlot::Utf8 : NUdf::EDataSlot::String, isOptional);
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(data);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -4340,7 +4340,7 @@ TRuntimeNode TProgramBuilder::FromString(TRuntimeNode data, TType* type) {
const auto targetType = UnpackOptionalData(type, isOptional);
MKQL_ENSURE(sourceType->GetSchemeType() == NUdf::TDataType<char*>::Id || sourceType->GetSchemeType() == NUdf::TDataType<NUdf::TUtf8>::Id, "Expected String");
MKQL_ENSURE(targetType->GetSchemeType() != 0, "Null is not allowed");
- TCallableBuilder callableBuilder(Env, __func__, type);
+ TCallableBuilder callableBuilder(Env_, __func__, type);
callableBuilder.Add(data);
callableBuilder.Add(NewDataLiteral(static_cast<ui32>(targetType->GetSchemeType())));
if (targetType->GetSchemeType() == NUdf::TDataType<NUdf::TDecimal>::Id) {
@@ -4357,7 +4357,7 @@ TRuntimeNode TProgramBuilder::StrictFromString(TRuntimeNode data, TType* type) {
const auto targetType = UnpackOptionalData(type, isOptional);
MKQL_ENSURE(sourceType->GetSchemeType() == NUdf::TDataType<char*>::Id || sourceType->GetSchemeType() == NUdf::TDataType<NUdf::TUtf8>::Id, "Expected String");
MKQL_ENSURE(targetType->GetSchemeType() != 0, "Null is not allowed");
- TCallableBuilder callableBuilder(Env, __func__, type);
+ TCallableBuilder callableBuilder(Env_, __func__, type);
callableBuilder.Add(data);
callableBuilder.Add(NewDataLiteral(static_cast<ui32>(targetType->GetSchemeType())));
if (targetType->GetSchemeType() == NUdf::TDataType<NUdf::TDecimal>::Id) {
@@ -4379,7 +4379,7 @@ TRuntimeNode TProgramBuilder::FromBytes(TRuntimeNode data, TType* targetType) {
MKQL_ENSURE(dataType->GetSchemeType() == NUdf::TDataType<char*>::Id, "Expected String");
auto resultType = NewOptionalType(targetType);
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(data);
auto targetDataType = AS_TYPE(TDataType, targetType);
callableBuilder.Add(NewDataLiteral(static_cast<ui32>(targetDataType->GetSchemeType())));
@@ -4403,7 +4403,7 @@ TRuntimeNode TProgramBuilder::InverseString(TRuntimeNode data) {
}
TRuntimeNode TProgramBuilder::Random(const TArrayRef<const TRuntimeNode>& dependentNodes) {
- TCallableBuilder callableBuilder(Env, __func__, NewDataType(NUdf::TDataType<double>::Id));
+ TCallableBuilder callableBuilder(Env_, __func__, NewDataType(NUdf::TDataType<double>::Id));
for (auto& x : dependentNodes) {
callableBuilder.Add(x);
}
@@ -4412,7 +4412,7 @@ TRuntimeNode TProgramBuilder::Random(const TArrayRef<const TRuntimeNode>& depend
}
TRuntimeNode TProgramBuilder::RandomNumber(const TArrayRef<const TRuntimeNode>& dependentNodes) {
- TCallableBuilder callableBuilder(Env, __func__, NewDataType(NUdf::TDataType<ui64>::Id));
+ TCallableBuilder callableBuilder(Env_, __func__, NewDataType(NUdf::TDataType<ui64>::Id));
for (auto& x : dependentNodes) {
callableBuilder.Add(x);
}
@@ -4421,7 +4421,7 @@ TRuntimeNode TProgramBuilder::RandomNumber(const TArrayRef<const TRuntimeNode>&
}
TRuntimeNode TProgramBuilder::RandomUuid(const TArrayRef<const TRuntimeNode>& dependentNodes) {
- TCallableBuilder callableBuilder(Env, __func__, NewDataType(NUdf::TDataType<NUdf::TUuid>::Id));
+ TCallableBuilder callableBuilder(Env_, __func__, NewDataType(NUdf::TDataType<NUdf::TUuid>::Id));
for (auto& x : dependentNodes) {
callableBuilder.Add(x);
}
@@ -4430,7 +4430,7 @@ TRuntimeNode TProgramBuilder::RandomUuid(const TArrayRef<const TRuntimeNode>& de
}
TRuntimeNode TProgramBuilder::Now(const TArrayRef<const TRuntimeNode>& args) {
- TCallableBuilder callableBuilder(Env, __func__, NewDataType(NUdf::TDataType<ui64>::Id));
+ TCallableBuilder callableBuilder(Env_, __func__, NewDataType(NUdf::TDataType<ui64>::Id));
for (const auto& x : args) {
callableBuilder.Add(x);
}
@@ -4448,24 +4448,24 @@ TRuntimeNode TProgramBuilder::CurrentUtcDatetime(const TArrayRef<const TRuntimeN
TRuntimeNode TProgramBuilder::CurrentUtcTimestamp(const TArrayRef<const TRuntimeNode>& args) {
return Coalesce(ToIntegral(Now(args), NewDataType(NUdf::TDataType<NUdf::TTimestamp>::Id, true)),
- TRuntimeNode(BuildDataLiteral(NUdf::TUnboxedValuePod(ui64(NUdf::MAX_TIMESTAMP - 1ULL)), NUdf::TDataType<NUdf::TTimestamp>::Id, Env), true));
+ TRuntimeNode(BuildDataLiteral(NUdf::TUnboxedValuePod(ui64(NUdf::MAX_TIMESTAMP - 1ULL)), NUdf::TDataType<NUdf::TTimestamp>::Id, Env_), true));
}
TRuntimeNode TProgramBuilder::Pickle(TRuntimeNode data) {
- TCallableBuilder callableBuilder(Env, __func__, NewDataType(NUdf::EDataSlot::String));
+ TCallableBuilder callableBuilder(Env_, __func__, NewDataType(NUdf::EDataSlot::String));
callableBuilder.Add(data);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::StablePickle(TRuntimeNode data) {
- TCallableBuilder callableBuilder(Env, __func__, NewDataType(NUdf::EDataSlot::String));
+ TCallableBuilder callableBuilder(Env_, __func__, NewDataType(NUdf::EDataSlot::String));
callableBuilder.Add(data);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::Unpickle(TType* type, TRuntimeNode serialized) {
MKQL_ENSURE(AS_TYPE(TDataType, serialized)->GetSchemeType() == NUdf::TDataType<char*>::Id, "Expected String");
- TCallableBuilder callableBuilder(Env, __func__, type);
+ TCallableBuilder callableBuilder(Env_, __func__, type);
callableBuilder.Add(TRuntimeNode(type, true));
callableBuilder.Add(serialized);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -4473,14 +4473,14 @@ TRuntimeNode TProgramBuilder::Unpickle(TType* type, TRuntimeNode serialized) {
TRuntimeNode TProgramBuilder::Ascending(TRuntimeNode data) {
auto dataType = NewDataType(NUdf::EDataSlot::String);
- TCallableBuilder callableBuilder(Env, __func__, dataType);
+ TCallableBuilder callableBuilder(Env_, __func__, dataType);
callableBuilder.Add(data);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::Descending(TRuntimeNode data) {
auto dataType = NewDataType(NUdf::EDataSlot::String);
- TCallableBuilder callableBuilder(Env, __func__, dataType);
+ TCallableBuilder callableBuilder(Env_, __func__, dataType);
callableBuilder.Add(data);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -4510,9 +4510,9 @@ TRuntimeNode TProgramBuilder::ToDecimal(TRuntimeNode data, ui8 precision, ui8 sc
bool isOptional;
auto dataType = UnpackOptionalData(data, isOptional);
- TType* decimal = TDataDecimalType::Create(precision, scale, Env);
+ TType* decimal = TDataDecimalType::Create(precision, scale, Env_);
if (isOptional)
- decimal = TOptionalType::Create(decimal, Env);
+ decimal = TOptionalType::Create(decimal, Env_);
const std::array<TRuntimeNode, 1> args = {{ data }};
if (dataType->GetSchemeType() == NUdf::TDataType<NUdf::TDecimal>::Id) {
@@ -4560,14 +4560,14 @@ TRuntimeNode TProgramBuilder::ListIf(TRuntimeNode predicate, TRuntimeNode item)
}
TRuntimeNode TProgramBuilder::AsList(TRuntimeNode item) {
- TListLiteralBuilder builder(Env, item.GetStaticType());
+ TListLiteralBuilder builder(Env_, item.GetStaticType());
builder.Add(item);
return TRuntimeNode(builder.Build(), true);
}
TRuntimeNode TProgramBuilder::AsList(const TArrayRef<const TRuntimeNode>& items) {
MKQL_ENSURE(!items.empty(), "required not empty list of items");
- TListLiteralBuilder builder(Env, items[0].GetStaticType());
+ TListLiteralBuilder builder(Env_, items[0].GetStaticType());
for (auto item : items) {
builder.Add(item);
}
@@ -4595,7 +4595,7 @@ TRuntimeNode TProgramBuilder::MapJoinCore(TRuntimeNode flow, TRuntimeNode dict,
rightRenamesNodes.reserve(rightRenames.size());
std::transform(rightRenames.cbegin(), rightRenames.cend(), std::back_inserter(rightRenamesNodes), [this](const ui32 idx) { return NewDataLiteral(idx); });
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(flow);
callableBuilder.Add(dict);
callableBuilder.Add(NewDataLiteral((ui32)joinKind));
@@ -4641,7 +4641,7 @@ TRuntimeNode TProgramBuilder::CommonJoinCore(TRuntimeNode flow, EJoinKind joinKi
std::transform(keyColumns.cbegin(), keyColumns.cend(), std::back_inserter(keyColumnsNodes),
std::bind(&TProgramBuilder::NewDataLiteral<ui32>, this, std::placeholders::_1));
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(flow);
callableBuilder.Add(NewDataLiteral((ui32)joinKind));
callableBuilder.Add(NewTuple(leftInputColumnsNodes));
@@ -4695,7 +4695,7 @@ TRuntimeNode TProgramBuilder::WideCombiner(TRuntimeNode flow, i64 memLimit, cons
tupleItems.reserve(output.size());
std::transform(output.cbegin(), output.cend(), std::back_inserter(tupleItems), std::bind(&TRuntimeNode::GetStaticType, std::placeholders::_1));
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(NewMultiType(tupleItems)));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(NewMultiType(tupleItems)));
callableBuilder.Add(flow);
callableBuilder.Add(NewDataLiteral(memLimit));
callableBuilder.Add(NewDataLiteral(ui32(keyArgs.size())));
@@ -4750,7 +4750,7 @@ TRuntimeNode TProgramBuilder::WideLastCombinerCommon(const TStringBuf& funcName,
tupleItems.reserve(output.size());
std::transform(output.cbegin(), output.cend(), std::back_inserter(tupleItems), std::bind(&TRuntimeNode::GetStaticType, std::placeholders::_1));
- TCallableBuilder callableBuilder(Env, funcName, NewFlowType(NewMultiType(tupleItems)));
+ TCallableBuilder callableBuilder(Env_, funcName, NewFlowType(NewMultiType(tupleItems)));
callableBuilder.Add(flow);
callableBuilder.Add(NewDataLiteral(ui32(keyArgs.size())));
callableBuilder.Add(NewDataLiteral(ui32(stateArgs.size())));
@@ -4802,7 +4802,7 @@ TRuntimeNode TProgramBuilder::WideCondense1(TRuntimeNode flow, const TWideLambda
tupleItems.reserve(next.size());
std::transform(next.cbegin(), next.cend(), std::back_inserter(tupleItems), std::bind(&TRuntimeNode::GetStaticType, std::placeholders::_1));
- TCallableBuilder callableBuilder(Env, __func__, NewFlowType(NewMultiType(tupleItems)));
+ TCallableBuilder callableBuilder(Env_, __func__, NewFlowType(NewMultiType(tupleItems)));
callableBuilder.Add(flow);
std::for_each(itemArgs.cbegin(), itemArgs.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
std::for_each(first.cbegin(), first.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
@@ -4854,7 +4854,7 @@ TRuntimeNode TProgramBuilder::CombineCore(TRuntimeNode stream,
}
const auto resultStreamType = isStream ? NewStreamType(retItemType) : NewFlowType(retItemType);
- TCallableBuilder callableBuilder(Env, __func__, resultStreamType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultStreamType);
callableBuilder.Add(stream);
callableBuilder.Add(itemArg);
callableBuilder.Add(key);
@@ -4897,7 +4897,7 @@ TRuntimeNode TProgramBuilder::GroupingCore(TRuntimeNode stream,
const std::array<TType*, 2U> tupleItems = {{ keyExtractorResult.GetStaticType(), NewStreamType(itemType) }};
const auto finishType = NewStreamType(NewTupleType(tupleItems));
- TCallableBuilder callableBuilder(Env, __func__, finishType);
+ TCallableBuilder callableBuilder(Env_, __func__, finishType);
callableBuilder.Add(stream);
callableBuilder.Add(keyExtractorResult);
callableBuilder.Add(groupSwitchResult);
@@ -4927,7 +4927,7 @@ TRuntimeNode TProgramBuilder::Chopper(TRuntimeNode flow, const TUnaryLambda& key
const auto input = Arg(flowType);
const auto output = groupHandler(keyArg, input);
- TCallableBuilder callableBuilder(Env, __func__, output.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, output.GetStaticType());
callableBuilder.Add(flow);
callableBuilder.Add(itemArg);
@@ -4962,7 +4962,7 @@ TRuntimeNode TProgramBuilder::WideChopper(TRuntimeNode flow, const TWideLambda&
const auto input = WideFlowArg(flow.GetStaticType());
const auto output = groupHandler(keyArgs, input);
- TCallableBuilder callableBuilder(Env, __func__, output.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, output.GetStaticType());
callableBuilder.Add(flow);
std::for_each(itemArgs.cbegin(), itemArgs.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
std::for_each(keys.cbegin(), keys.cend(), std::bind(&TCallableBuilder::Add, std::ref(callableBuilder), std::placeholders::_1));
@@ -4985,7 +4985,7 @@ TRuntimeNode TProgramBuilder::HoppingCore(TRuntimeNode list,
{
auto streamType = AS_TYPE(TStreamType, list);
auto itemType = AS_TYPE(TStructType, streamType->GetItemType());
- auto timestampType = TOptionalType::Create(TDataType::Create(NUdf::TDataType<NUdf::TTimestamp>::Id, Env), Env);
+ auto timestampType = TOptionalType::Create(TDataType::Create(NUdf::TDataType<NUdf::TTimestamp>::Id, Env_), Env_);
TRuntimeNode itemArg = Arg(itemType);
@@ -5020,9 +5020,9 @@ TRuntimeNode TProgramBuilder::HoppingCore(TRuntimeNode list,
auto finishType = outItemFinish.GetStaticType();
MKQL_ENSURE(finishType->IsStruct(), "Expected struct type as finish lambda output");
- auto resultType = TStreamType::Create(outItemFinish.GetStaticType(), Env);
+ auto resultType = TStreamType::Create(outItemFinish.GetStaticType(), Env_);
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
callableBuilder.Add(stateArg);
@@ -5058,7 +5058,7 @@ TRuntimeNode TProgramBuilder::MultiHoppingCore(TRuntimeNode list,
{
auto streamType = AS_TYPE(TStreamType, list);
auto itemType = AS_TYPE(TStructType, streamType->GetItemType());
- auto timestampType = TOptionalType::Create(TDataType::Create(NUdf::TDataType<NUdf::TTimestamp>::Id, Env), Env);
+ auto timestampType = TOptionalType::Create(TDataType::Create(NUdf::TDataType<NUdf::TTimestamp>::Id, Env_), Env_);
TRuntimeNode itemArg = Arg(itemType);
@@ -5097,9 +5097,9 @@ TRuntimeNode TProgramBuilder::MultiHoppingCore(TRuntimeNode list,
auto finishType = outItemFinish.GetStaticType();
MKQL_ENSURE(finishType->IsStruct(), "Expected struct type as finish lambda output");
- auto resultType = TStreamType::Create(outItemFinish.GetStaticType(), Env);
+ auto resultType = TStreamType::Create(outItemFinish.GetStaticType(), Env_);
- TCallableBuilder callableBuilder(Env, __func__, resultType);
+ TCallableBuilder callableBuilder(Env_, __func__, resultType);
callableBuilder.Add(list);
callableBuilder.Add(itemArg);
callableBuilder.Add(keyArg);
@@ -5134,9 +5134,9 @@ TRuntimeNode TProgramBuilder::Default(TType* type) {
const auto scheme = targetType->GetSchemeType();
const auto value = scheme == NUdf::TDataType<NUdf::TUuid>::Id ?
- Env.NewStringValue("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"sv) :
+ Env_.NewStringValue("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"sv) :
scheme == NUdf::TDataType<NUdf::TDyNumber>::Id ? NUdf::TUnboxedValuePod::Embedded("\1") : NUdf::TUnboxedValuePod::Zero();
- return TRuntimeNode(TDataLiteral::Create(value, targetType, Env), true);
+ return TRuntimeNode(TDataLiteral::Create(value, targetType, Env_), true);
}
TRuntimeNode TProgramBuilder::Cast(TRuntimeNode arg, TType* type) {
@@ -5217,11 +5217,11 @@ TRuntimeNode TProgramBuilder::RangeCreate(TRuntimeNode list) {
}
outputComponents.push_back(lastComp);
- auto outputBoundary = TTupleType::Create(outputComponents.size(), &outputComponents.front(), Env);
+ auto outputBoundary = TTupleType::Create(outputComponents.size(), &outputComponents.front(), Env_);
std::vector<TType*> outputRangeComps(2, outputBoundary);
- auto outputRange = TTupleType::Create(outputRangeComps.size(), &outputRangeComps.front(), Env);
+ auto outputRange = TTupleType::Create(outputRangeComps.size(), &outputRangeComps.front(), Env_);
- TCallableBuilder callableBuilder(Env, __func__, TListType::Create(outputRange, Env));
+ TCallableBuilder callableBuilder(Env_, __func__, TListType::Create(outputRange, Env_));
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -5269,13 +5269,13 @@ TRuntimeNode TProgramBuilder::RangeMultiply(const TArrayRef<const TRuntimeNode>&
outputComponents.push_back(boundaryType->GetElementType(j));
}
}
- outputComponents.push_back(TDataType::Create(NUdf::TDataType<i32>::Id, Env));
+ outputComponents.push_back(TDataType::Create(NUdf::TDataType<i32>::Id, Env_));
- auto outputBoundary = TTupleType::Create(outputComponents.size(), &outputComponents.front(), Env);
+ auto outputBoundary = TTupleType::Create(outputComponents.size(), &outputComponents.front(), Env_);
std::vector<TType*> outputRangeComps(2, outputBoundary);
- auto outputRange = TTupleType::Create(outputRangeComps.size(), &outputRangeComps.front(), Env);
+ auto outputRange = TTupleType::Create(outputRangeComps.size(), &outputRangeComps.front(), Env_);
- TCallableBuilder callableBuilder(Env, __func__, TListType::Create(outputRange, Env));
+ TCallableBuilder callableBuilder(Env_, __func__, TListType::Create(outputRange, Env_));
if (unlimited) {
callableBuilder.Add(NewDataLiteral<ui64>(std::numeric_limits<ui64>::max()));
} else {
@@ -5311,11 +5311,11 @@ TRuntimeNode TProgramBuilder::RangeFinalize(TRuntimeNode list) {
}
}
- auto outputBoundary = TTupleType::Create(outputComponents.size(), &outputComponents.front(), Env);
+ auto outputBoundary = TTupleType::Create(outputComponents.size(), &outputComponents.front(), Env_);
std::vector<TType*> outputRangeComps(2, outputBoundary);
- auto outputRange = TTupleType::Create(outputRangeComps.size(), &outputRangeComps.front(), Env);
+ auto outputRange = TTupleType::Create(outputRangeComps.size(), &outputRangeComps.front(), Env_);
- TCallableBuilder callableBuilder(Env, __func__, TListType::Create(outputRange, Env));
+ TCallableBuilder callableBuilder(Env_, __func__, TListType::Create(outputRange, Env_));
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -5339,7 +5339,7 @@ TRuntimeNode TProgramBuilder::Round(const std::string_view& callableName, TRunti
NKikimr::NUdf::ECastOptions::AnywayLoseData),
"Rounding from " << *sourceType << " to " << *targetType << " is trivial");
- TCallableBuilder callableBuilder(Env, callableName, TOptionalType::Create(targetType, Env));
+ TCallableBuilder callableBuilder(Env_, callableName, TOptionalType::Create(targetType, Env_));
callableBuilder.Add(source);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -5353,14 +5353,14 @@ TRuntimeNode TProgramBuilder::NextValue(TRuntimeNode value) {
MKQL_ENSURE(slot == NUdf::EDataSlot::String || slot == NUdf::EDataSlot::Utf8,
"Unsupported type: " << *valueType);
- TCallableBuilder callableBuilder(Env, __func__, TOptionalType::Create(valueType, Env));
+ TCallableBuilder callableBuilder(Env_, __func__, TOptionalType::Create(valueType, Env_));
callableBuilder.Add(value);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::Nop(TRuntimeNode value, TType* returnType) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(value);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -5373,8 +5373,8 @@ TRuntimeNode TProgramBuilder::Replicate(TRuntimeNode item, TRuntimeNode count, c
MKQL_ENSURE(count.GetStaticType()->IsData(), "Expected data");
MKQL_ENSURE(static_cast<const TDataType&>(*count.GetStaticType()).GetSchemeType() == NUdf::TDataType<ui64>::Id, "Expected ui64");
- const auto listType = TListType::Create(item.GetStaticType(), Env);
- TCallableBuilder callableBuilder(Env, __func__, listType);
+ const auto listType = TListType::Create(item.GetStaticType(), Env_);
+ TCallableBuilder callableBuilder(Env_, __func__, listType);
callableBuilder.Add(item);
callableBuilder.Add(count);
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(file));
@@ -5385,7 +5385,7 @@ TRuntimeNode TProgramBuilder::Replicate(TRuntimeNode item, TRuntimeNode count, c
}
TRuntimeNode TProgramBuilder::PgConst(TPgType* pgType, const std::string_view& value, TRuntimeNode typeMod) {
- TCallableBuilder callableBuilder(Env, __func__, pgType);
+ TCallableBuilder callableBuilder(Env_, __func__, pgType);
callableBuilder.Add(NewDataLiteral(pgType->GetTypeId()));
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(value));
if (typeMod) {
@@ -5398,7 +5398,7 @@ TRuntimeNode TProgramBuilder::PgConst(TPgType* pgType, const std::string_view& v
TRuntimeNode TProgramBuilder::PgResolvedCall(bool useContext, const std::string_view& name,
ui32 id, const TArrayRef<const TRuntimeNode>& args,
TType* returnType, bool rangeFunction) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(NewDataLiteral(useContext));
callableBuilder.Add(NewDataLiteral(rangeFunction));
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(name));
@@ -5411,7 +5411,7 @@ TRuntimeNode TProgramBuilder::PgResolvedCall(bool useContext, const std::string_
TRuntimeNode TProgramBuilder::BlockPgResolvedCall(const std::string_view& name, ui32 id,
const TArrayRef<const TRuntimeNode>& args, TType* returnType) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(name));
callableBuilder.Add(NewDataLiteral(id));
for (const auto& arg : args) {
@@ -5421,7 +5421,7 @@ TRuntimeNode TProgramBuilder::BlockPgResolvedCall(const std::string_view& name,
}
TRuntimeNode TProgramBuilder::PgArray(const TArrayRef<const TRuntimeNode>& args, TType* returnType) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
for (const auto& arg : args) {
callableBuilder.Add(arg);
}
@@ -5433,7 +5433,7 @@ TRuntimeNode TProgramBuilder::PgTableContent(
const std::string_view& cluster,
const std::string_view& table,
TType* returnType) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(cluster));
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(table));
return TRuntimeNode(callableBuilder.Build(), false);
@@ -5452,7 +5452,7 @@ TRuntimeNode TProgramBuilder::PgToRecord(TRuntimeNode input, const TArrayRef<std
}
auto returnType = NewPgType(NYql::NPg::LookupType("record").TypeId);
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(input);
TVector<TRuntimeNode> names;
for (const auto& x : members) {
@@ -5465,7 +5465,7 @@ TRuntimeNode TProgramBuilder::PgToRecord(TRuntimeNode input, const TArrayRef<std
}
TRuntimeNode TProgramBuilder::PgCast(TRuntimeNode input, TType* returnType, TRuntimeNode typeMod) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(input);
if (typeMod) {
callableBuilder.Add(typeMod);
@@ -5475,19 +5475,19 @@ TRuntimeNode TProgramBuilder::PgCast(TRuntimeNode input, TType* returnType, TRun
}
TRuntimeNode TProgramBuilder::FromPg(TRuntimeNode input, TType* returnType) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(input);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::ToPg(TRuntimeNode input, TType* returnType) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(input);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::PgClone(TRuntimeNode input, const TArrayRef<const TRuntimeNode>& dependentNodes) {
- TCallableBuilder callableBuilder(Env, __func__, input.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, input.GetStaticType());
callableBuilder.Add(input);
for (const auto& node : dependentNodes) {
callableBuilder.Add(node);
@@ -5497,14 +5497,14 @@ TRuntimeNode TProgramBuilder::PgClone(TRuntimeNode input, const TArrayRef<const
}
TRuntimeNode TProgramBuilder::WithContext(TRuntimeNode input, const std::string_view& contextType) {
- TCallableBuilder callableBuilder(Env, __func__, input.GetStaticType());
+ TCallableBuilder callableBuilder(Env_, __func__, input.GetStaticType());
callableBuilder.Add(NewDataLiteral<NUdf::EDataSlot::String>(contextType));
callableBuilder.Add(input);
return TRuntimeNode(callableBuilder.Build(), false);
}
TRuntimeNode TProgramBuilder::PgInternal0(TType* returnType) {
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -5518,7 +5518,7 @@ TRuntimeNode TProgramBuilder::BlockIf(TRuntimeNode condition, TRuntimeNode thenB
MKQL_ENSURE(thenType->GetItemType()->IsSameType(*elseType->GetItemType()), "Different return types in branches.");
auto returnType = NewBlockType(thenType->GetItemType(), GetResultShape({conditionType, thenType, elseType}));
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(condition);
callableBuilder.Add(thenBranch);
callableBuilder.Add(elseBranch);
@@ -5528,7 +5528,7 @@ TRuntimeNode TProgramBuilder::BlockIf(TRuntimeNode condition, TRuntimeNode thenB
TRuntimeNode TProgramBuilder::BlockJust(TRuntimeNode data) {
const auto initialType = AS_TYPE(TBlockType, data.GetStaticType());
auto returnType = NewBlockType(NewOptionalType(initialType->GetItemType()), initialType->GetShape());
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(data);
return TRuntimeNode(callableBuilder.Build(), false);
}
@@ -5538,7 +5538,7 @@ TRuntimeNode TProgramBuilder::BlockFunc(const std::string_view& funcName, TType*
MKQL_ENSURE(arg.GetStaticType()->IsBlock(), "Expected Block type");
}
- TCallableBuilder builder(Env, __func__, returnType);
+ TCallableBuilder builder(Env_, __func__, returnType);
builder.Add(NewDataLiteral<NUdf::EDataSlot::String>(funcName));
for (const auto& arg : args) {
builder.Add(arg);
@@ -5553,7 +5553,7 @@ TRuntimeNode TProgramBuilder::BuildBlockCombineAll(const std::string_view& calla
MKQL_ENSURE(inputType->IsStream() || inputType->IsFlow(), "Expected either stream or flow as input type");
MKQL_ENSURE(returnType->IsStream() || returnType->IsFlow(), "Expected either stream or flow as return type");
- TCallableBuilder builder(Env, callableName, returnType);
+ TCallableBuilder builder(Env_, callableName, returnType);
builder.Add(input);
if (!filterColumn) {
@@ -5596,7 +5596,7 @@ TRuntimeNode TProgramBuilder::BuildBlockCombineHashed(const std::string_view& ca
MKQL_ENSURE(inputType->IsStream() || inputType->IsFlow(), "Expected either stream or flow as input type");
MKQL_ENSURE(returnType->IsStream() || returnType->IsFlow(), "Expected either stream or flow as return type");
- TCallableBuilder builder(Env, callableName, returnType);
+ TCallableBuilder builder(Env_, callableName, returnType);
builder.Add(input);
if (!filterColumn) {
@@ -5645,7 +5645,7 @@ TRuntimeNode TProgramBuilder::BuildBlockMergeFinalizeHashed(const std::string_vi
MKQL_ENSURE(inputType->IsStream() || inputType->IsFlow(), "Expected either stream or flow as input type");
MKQL_ENSURE(returnType->IsStream() || returnType->IsFlow(), "Expected either stream or flow as return type");
- TCallableBuilder builder(Env, callableName, returnType);
+ TCallableBuilder builder(Env_, callableName, returnType);
builder.Add(input);
TVector<TRuntimeNode> keyNodes;
@@ -5688,7 +5688,7 @@ TRuntimeNode TProgramBuilder::BuildBlockMergeManyFinalizeHashed(const std::strin
MKQL_ENSURE(inputType->IsStream() || inputType->IsFlow(), "Expected either stream or flow as input type");
MKQL_ENSURE(returnType->IsStream() || returnType->IsFlow(), "Expected either stream or flow as return type");
- TCallableBuilder builder(Env, callableName, returnType);
+ TCallableBuilder builder(Env_, callableName, returnType);
builder.Add(input);
TVector<TRuntimeNode> keyNodes;
@@ -5752,7 +5752,7 @@ TRuntimeNode TProgramBuilder::ScalarApply(const TArrayRef<const TRuntimeNode>& a
auto ret = handler(lambdaArgs);
MKQL_ENSURE(ConvertArrowType(ret.GetStaticType(), arrowType), "Unsupported arrow type");
auto returnType = NewBlockType(ret.GetStaticType(), scalarOnly ? TBlockType::EShape::Scalar : TBlockType::EShape::Many);
- TCallableBuilder builder(Env, __func__, returnType);
+ TCallableBuilder builder(Env_, __func__, returnType);
for (const auto& arg : args) {
builder.Add(arg);
}
@@ -5781,7 +5781,7 @@ TRuntimeNode TProgramBuilder::BlockStorage(TRuntimeNode list, TType* returnType)
auto returnResourceType = AS_TYPE(TResourceType, returnType);
MKQL_ENSURE(returnResourceType->GetTag().StartsWith(BlockStorageResourcePrefix), "Expected block storage resource");
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(list);
return TRuntimeNode(callableBuilder.Build(), false);
@@ -5811,7 +5811,7 @@ TRuntimeNode TProgramBuilder::BlockMapJoinIndex(TRuntimeNode blockStorage, TType
return NewDataLiteral(idx);
});
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(blockStorage);
callableBuilder.Add(TRuntimeNode(listItemType, true));
callableBuilder.Add(NewTuple(keyColumnsNodes));
@@ -5881,7 +5881,7 @@ TRuntimeNode TProgramBuilder::BlockMapJoinCore(TRuntimeNode leftStream, TRuntime
return NewDataLiteral(idx);
});
- TCallableBuilder callableBuilder(Env, __func__, returnType);
+ TCallableBuilder callableBuilder(Env_, __func__, returnType);
callableBuilder.Add(leftStream);
callableBuilder.Add(rightBlockStorage);
callableBuilder.Add(TRuntimeNode(rightListItemType, true));
@@ -5947,7 +5947,7 @@ TRuntimeNode TProgramBuilder::MatchRecognizeCore(
{"From", NewDataType(NUdf::EDataSlot::Uint64)},
{"To", NewDataType(NUdf::EDataSlot::Uint64)}
}));
- TStructTypeBuilder matchedVarsTypeBuilder(Env);
+ TStructTypeBuilder matchedVarsTypeBuilder(Env_);
for (const auto& var: GetPatternVars(pattern)) {
matchedVarsTypeBuilder.Add(var, rangeList);
}
@@ -5960,11 +5960,11 @@ TRuntimeNode TProgramBuilder::MatchRecognizeCore(
TVector<TRuntimeNode> measures;
//---
if (getMeasures.empty()) {
- measureInputDataArg = Arg(Env.GetTypeOfVoidLazy());
+ measureInputDataArg = Arg(Env_.GetTypeOfVoidLazy());
} else {
measures.reserve(getMeasures.size());
specialColumnIndexesInMeasureInputDataRow.resize(static_cast<size_t>(NYql::NMatchRecognize::EMeasureInputDataSpecialColumns::Last));
- TStructTypeBuilder measureInputDataRowTypeBuilder(Env);
+ TStructTypeBuilder measureInputDataRowTypeBuilder(Env_);
for (ui32 i = 0; i < inputRowType->GetMembersCount(); ++i) {
measureInputDataRowTypeBuilder.Add(inputRowType->GetMemberName(i), inputRowType->GetMemberType(i));
}
@@ -5994,7 +5994,7 @@ TRuntimeNode TProgramBuilder::MatchRecognizeCore(
}
}
- TStructTypeBuilder outputRowTypeBuilder(Env);
+ TStructTypeBuilder outputRowTypeBuilder(Env_);
THashMap<TStringBuf, size_t> partitionColumnLookup;
THashMap<TStringBuf, size_t> measureColumnLookup;
THashMap<TStringBuf, size_t> otherColumnLookup;
@@ -6126,17 +6126,17 @@ TRuntimeNode TProgramBuilder::TimeOrderRecover(
{
auto& inputRowType = *static_cast<TStructType*>(AS_TYPE(TStructType, AS_TYPE(TFlowType, inputStream.GetStaticType())->GetItemType()));
const auto inputRowArg = Arg(&inputRowType);
- TStructTypeBuilder outputRowTypeBuilder(Env);
+ TStructTypeBuilder outputRowTypeBuilder(Env_);
outputRowTypeBuilder.Reserve(inputRowType.GetMembersCount() + 1);
const ui32 inputRowColumnCount = inputRowType.GetMembersCount();
for (ui32 i = 0; i != inputRowColumnCount; ++i) {
outputRowTypeBuilder.Add(inputRowType.GetMemberName(i), inputRowType.GetMemberType(i));
}
using NYql::NTimeOrderRecover::OUT_OF_ORDER_MARKER;
- outputRowTypeBuilder.Add(OUT_OF_ORDER_MARKER, TDataType::Create(NUdf::TDataType<bool>::Id, Env));
+ outputRowTypeBuilder.Add(OUT_OF_ORDER_MARKER, TDataType::Create(NUdf::TDataType<bool>::Id, Env_));
const auto outputRowType = outputRowTypeBuilder.Build();
const auto outOfOrderColumnIndex = outputRowType->GetMemberIndex(OUT_OF_ORDER_MARKER);
- TCallableBuilder callableBuilder(GetTypeEnvironment(), "TimeOrderRecover", TFlowType::Create(outputRowType, Env));
+ TCallableBuilder callableBuilder(GetTypeEnvironment(), "TimeOrderRecover", TFlowType::Create(outputRowType, Env_));
callableBuilder.Add(inputStream);
callableBuilder.Add(inputRowArg);