@@ -614,6 +614,7 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
614
614
<< " , queryUid: " << (request.Uid ? *request.Uid : " <empty>" )
615
615
<< " , queryText: \" " << (request.Query ? EscapeC (request.Query ->Text ) : " <empty>" ) << " \" "
616
616
<< " , keepInCache: " << request.KeepInCache
617
+ << " , split: " << request.Split
617
618
<< *request.UserRequestContext );
618
619
619
620
*Counters->CompileQueryCacheSize = QueryCache.Size ();
@@ -700,7 +701,7 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
700
701
request.Deadline ,
701
702
ev->Get ()->Split
702
703
? ECompileActorAction::SPLIT
703
- : TableServiceConfig.GetEnableAstCache ()
704
+ : ( TableServiceConfig.GetEnableAstCache () && !request. QueryAst )
704
705
? ECompileActorAction::PARSE
705
706
: ECompileActorAction::COMPILE);
706
707
TKqpCompileRequest compileRequest (ev->Sender , CreateGuidAsString (), std::move (*request.Query ),
@@ -763,7 +764,16 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
763
764
764
765
NWilson::TSpan compileServiceSpan (TWilsonKqp::CompileService, ev->Get () ? std::move (ev->TraceId ) : NWilson::TTraceId (), " CompileService" );
765
766
766
- TKqpCompileSettings compileSettings (true , request.IsQueryActionPrepare , false , request.Deadline , TableServiceConfig.GetEnableAstCache () ? ECompileActorAction::PARSE : ECompileActorAction::COMPILE);
767
+ TKqpCompileSettings compileSettings (
768
+ true ,
769
+ request.IsQueryActionPrepare ,
770
+ false ,
771
+ request.Deadline ,
772
+ ev->Get ()->Split
773
+ ? ECompileActorAction::SPLIT
774
+ : (TableServiceConfig.GetEnableAstCache () && !request.QueryAst )
775
+ ? ECompileActorAction::PARSE
776
+ : ECompileActorAction::COMPILE);
767
777
TKqpCompileRequest compileRequest (ev->Sender , request.Uid , request.Query ? *request.Query : *compileResult->Query ,
768
778
compileSettings, request.UserToken , dbCounters, request.GUCSettings , request.ApplicationName ,
769
779
ev->Cookie , std::move (ev->Get ()->IntrestedInResult ),
@@ -827,6 +837,7 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
827
837
if (compileResult->NeedToSplit ) {
828
838
Reply (compileRequest.Sender , compileResult, compileStats, ctx,
829
839
compileRequest.Cookie , std::move (compileRequest.Orbit ), std::move (compileRequest.CompileServiceSpan ), (CollectDiagnostics ? ev->Get ()->ReplayMessageUserView : std::nullopt));
840
+ ProcessQueue (ctx);
830
841
return ;
831
842
}
832
843
@@ -964,7 +975,6 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
964
975
compileRequest.Orbit ,
965
976
compileRequest.Query .UserSid );
966
977
967
- compileRequest.CompileSettings .Action = ECompileActorAction::COMPILE;
968
978
compileRequest.QueryAst = std::move (queryAst);
969
979
970
980
if (!RequestsQueue.Enqueue (std::move (compileRequest))) {
@@ -997,6 +1007,7 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
997
1007
return ;
998
1008
}
999
1009
1010
+ compileRequest.CompileSettings .Action = ECompileActorAction::COMPILE;
1000
1011
CompileByAst (astStatements.front (), compileRequest, ctx);
1001
1012
}
1002
1013
0 commit comments