@@ -44,15 +44,17 @@ class TScalarApplyWrapper : public TMutableComputationNode<TScalarApplyWrapper>
44
44
struct TKernelState : public arrow ::compute::KernelState {
45
45
TKernelState (const TVector<TType*>& argsTypes, TType* returnType, const TComputationContext& originalContext)
46
46
: Alloc(__LOCATION__)
47
+ , TypeEnv(Alloc)
47
48
, MemInfo(" ScalarApply" )
48
- , HolderFactory(Alloc.Ref(), MemInfo)
49
+ , FunctionRegistry(originalContext.HolderFactory.GetFunctionRegistry()->Clone ())
50
+ , HolderFactory(Alloc.Ref(), MemInfo, FunctionRegistry.Get())
49
51
, ValueBuilder(HolderFactory, NUdf::EValidatePolicy::Exception)
50
52
, PgBuilder(NYql::CreatePgBuilder())
51
53
, Accessors(argsTypes, returnType, *PgBuilder)
52
54
, RandomProvider(CreateDefaultRandomProvider())
53
55
, TimeProvider(CreateDefaultTimeProvider())
54
56
, Ctx(HolderFactory, &ValueBuilder, TComputationOptsFull(
55
- nullptr , Alloc.Ref(), *RandomProvider, *TimeProvider, NUdf::EValidatePolicy::Exception, nullptr ),
57
+ nullptr , Alloc.Ref(), TypeEnv, *RandomProvider, *TimeProvider, NUdf::EValidatePolicy::Exception, originalContext.SecureParamsProvider, originalContext.CountersProvider ),
56
58
originalContext.Mutables, *NYql::NUdf::GetYqlMemoryPool())
57
59
{
58
60
Alloc.Ref ().EnableArrowTracking = false ;
@@ -65,7 +67,9 @@ class TScalarApplyWrapper : public TMutableComputationNode<TScalarApplyWrapper>
65
67
}
66
68
67
69
TScopedAlloc Alloc;
70
+ TTypeEnvironment TypeEnv;
68
71
TMemoryUsageInfo MemInfo;
72
+ const IFunctionRegistry::TPtr FunctionRegistry;
69
73
THolderFactory HolderFactory;
70
74
TDefaultValueBuilder ValueBuilder;
71
75
std::unique_ptr<NUdf::IPgBuilder> PgBuilder;
0 commit comments