@@ -611,6 +611,7 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
611
611
<< " , queryUid: " << (request.Uid ? *request.Uid : " <empty>" )
612
612
<< " , queryText: \" " << (request.Query ? EscapeC (request.Query ->Text ) : " <empty>" ) << " \" "
613
613
<< " , keepInCache: " << request.KeepInCache
614
+ << " , split: " << request.Split
614
615
<< *request.UserRequestContext );
615
616
616
617
*Counters->CompileQueryCacheSize = QueryCache.Size ();
@@ -697,7 +698,7 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
697
698
request.Deadline ,
698
699
ev->Get ()->Split
699
700
? ECompileActorAction::SPLIT
700
- : TableServiceConfig.GetEnableAstCache ()
701
+ : ( TableServiceConfig.GetEnableAstCache () && !request. QueryAst )
701
702
? ECompileActorAction::PARSE
702
703
: ECompileActorAction::COMPILE);
703
704
TKqpCompileRequest compileRequest (ev->Sender , CreateGuidAsString (), std::move (*request.Query ),
@@ -760,7 +761,16 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
760
761
761
762
NWilson::TSpan compileServiceSpan (TWilsonKqp::CompileService, ev->Get () ? std::move (ev->TraceId ) : NWilson::TTraceId (), " CompileService" );
762
763
763
- TKqpCompileSettings compileSettings (true , request.IsQueryActionPrepare , false , request.Deadline , TableServiceConfig.GetEnableAstCache () ? ECompileActorAction::PARSE : ECompileActorAction::COMPILE);
764
+ TKqpCompileSettings compileSettings (
765
+ true ,
766
+ request.IsQueryActionPrepare ,
767
+ false ,
768
+ request.Deadline ,
769
+ ev->Get ()->Split
770
+ ? ECompileActorAction::SPLIT
771
+ : (TableServiceConfig.GetEnableAstCache () && !request.QueryAst )
772
+ ? ECompileActorAction::PARSE
773
+ : ECompileActorAction::COMPILE);
764
774
TKqpCompileRequest compileRequest (ev->Sender , request.Uid , request.Query ? *request.Query : *compileResult->Query ,
765
775
compileSettings, request.UserToken , dbCounters, request.GUCSettings , request.ApplicationName ,
766
776
ev->Cookie , std::move (ev->Get ()->IntrestedInResult ),
@@ -824,6 +834,7 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
824
834
if (compileResult->NeedToSplit ) {
825
835
Reply (compileRequest.Sender , compileResult, compileStats, ctx,
826
836
compileRequest.Cookie , std::move (compileRequest.Orbit ), std::move (compileRequest.CompileServiceSpan ), (CollectDiagnostics ? ev->Get ()->ReplayMessageUserView : std::nullopt));
837
+ ProcessQueue (ctx);
827
838
return ;
828
839
}
829
840
@@ -961,7 +972,6 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
961
972
compileRequest.Orbit ,
962
973
compileRequest.Query .UserSid );
963
974
964
- compileRequest.CompileSettings .Action = ECompileActorAction::COMPILE;
965
975
compileRequest.QueryAst = std::move (queryAst);
966
976
967
977
if (!RequestsQueue.Enqueue (std::move (compileRequest))) {
@@ -994,6 +1004,7 @@ class TKqpCompileService : public TActorBootstrapped<TKqpCompileService> {
994
1004
return ;
995
1005
}
996
1006
1007
+ compileRequest.CompileSettings .Action = ECompileActorAction::COMPILE;
997
1008
CompileByAst (astStatements.front (), compileRequest, ctx);
998
1009
}
999
1010
0 commit comments