@@ -158,7 +158,7 @@ class TTopicSession : public TActorBootstrapped<TTopicSession> {
158158 ui32 PartitionId;
159159 NYdb::TDriver Driver;
160160 std::shared_ptr<NYdb::ICredentialsProviderFactory> CredentialsProviderFactory;
161- NYql::NPureCalc::IProgramFactoryPtr PureCalcProgramFactory;
161+ IPureCalcProgramFactory::TPtr PureCalcProgramFactory;
162162 NYql::ITopicClient::TPtr TopicClient;
163163 std::shared_ptr<NYdb::NTopic::IReadSession> ReadSession;
164164 const i64 BufferSize;
@@ -190,7 +190,7 @@ class TTopicSession : public TActorBootstrapped<TTopicSession> {
190190 ui32 partitionId,
191191 NYdb::TDriver driver,
192192 std::shared_ptr<NYdb::ICredentialsProviderFactory> credentialsProviderFactory,
193- NYql::NPureCalc::IProgramFactoryPtr pureCalcProgramFactory,
193+ IPureCalcProgramFactory::TPtr pureCalcProgramFactory,
194194 const ::NMonitoring::TDynamicCounterPtr& counters,
195195 const NYql::IPqGateway::TPtr& pqGateway);
196196
@@ -281,7 +281,7 @@ TTopicSession::TTopicSession(
281281 ui32 partitionId,
282282 NYdb::TDriver driver,
283283 std::shared_ptr<NYdb::ICredentialsProviderFactory> credentialsProviderFactory,
284- NYql::NPureCalc::IProgramFactoryPtr pureCalcProgramFactory,
284+ IPureCalcProgramFactory::TPtr pureCalcProgramFactory,
285285 const ::NMonitoring::TDynamicCounterPtr& counters,
286286 const NYql::IPqGateway::TPtr& pqGateway)
287287 : TopicPath(topicPath)
@@ -737,10 +737,11 @@ void TTopicSession::Handle(NFq::TEvRowDispatcher::TEvStartSession::TPtr& ev) {
737737 std::forward_as_tuple (ev)).first ->second ;
738738 UpdateFieldsIds (clientInfo);
739739
740- TString predicate = clientInfo.Settings .GetSource ().GetPredicate ();
740+ const auto & source = clientInfo.Settings .GetSource ();
741+ TString predicate = source.GetPredicate ();
741742
742743 // TODO: remove this when the re-parsing is removed from pq read actor
743- if (predicate.empty () && HasJsonColumns (clientInfo. Settings . GetSource () )) {
744+ if (predicate.empty () && HasJsonColumns (source )) {
744745 predicate = " WHERE TRUE" ;
745746 }
746747
@@ -752,7 +753,9 @@ void TTopicSession::Handle(NFq::TEvRowDispatcher::TEvStartSession::TPtr& ev) {
752753 [&, actorId = clientInfo.ReadActorId ](ui64 offset, const TString& json){
753754 Send (SelfId (), new NFq::TEvPrivate::TEvDataAfterFilteration (offset, json, actorId));
754755 },
755- PureCalcProgramFactory);
756+ PureCalcProgramFactory,
757+ {.EnabledLLVM = source.GetEnabledLLVM ()}
758+ );
756759 } else {
757760 ClientsWithoutPredicate.insert (ev->Sender );
758761 }
@@ -993,7 +996,7 @@ std::unique_ptr<NActors::IActor> NewTopicSession(
993996 ui32 partitionId,
994997 NYdb::TDriver driver,
995998 std::shared_ptr<NYdb::ICredentialsProviderFactory> credentialsProviderFactory,
996- NYql::NPureCalc::IProgramFactoryPtr pureCalcProgramFactory,
999+ IPureCalcProgramFactory::TPtr pureCalcProgramFactory,
9971000 const ::NMonitoring::TDynamicCounterPtr& counters,
9981001 const NYql::IPqGateway::TPtr& pqGateway) {
9991002 return std::unique_ptr<NActors::IActor>(new TTopicSession (topicPath, endpoint, database, config, rowDispatcherActorId, partitionId, std::move (driver), credentialsProviderFactory, pureCalcProgramFactory, counters, pqGateway));
0 commit comments