1717#include < ydb/core/kqp/provider/yql_kikimr_results.h>
1818#include < ydb/core/kqp/rm_service/kqp_snapshot_manager.h>
1919#include < ydb/core/ydb_convert/ydb_convert.h>
20+ #include < ydb/core/tx/schemeshard/schemeshard.h>
2021#include < ydb/public/lib/operation_id/operation_id.h>
2122
2223#include < ydb/core/util/ulid.h>
@@ -155,7 +156,8 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
155156 NYql::NDq::IDqAsyncIoFactory::TPtr asyncIoFactory,
156157 TIntrusivePtr<TModuleResolverState> moduleResolverState, TIntrusivePtr<TKqpCounters> counters,
157158 const NKikimrConfig::TQueryServiceConfig& queryServiceConfig,
158- const NKikimrConfig::TMetadataProviderConfig& metadataProviderConfig)
159+ const NKikimrConfig::TMetadataProviderConfig& metadataProviderConfig,
160+ const TActorId& kqpTempTablesAgentActor)
159161 : Owner(owner)
160162 , SessionId(sessionId)
161163 , Counters(counters)
@@ -168,6 +170,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
168170 , Transactions(*Config->_KqpMaxActiveTxPerSession.Get(), TDuration::Seconds(*Config->_KqpTxIdleTimeoutSec.Get()))
169171 , QueryServiceConfig(queryServiceConfig)
170172 , MetadataProviderConfig(metadataProviderConfig)
173+ , KqpTempTablesAgentActor(kqpTempTablesAgentActor)
171174 {
172175 RequestCounters = MakeIntrusive<TKqpRequestCounters>();
173176 RequestCounters->Counters = Counters;
@@ -1072,7 +1075,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
10721075 bool temporary = GetTemporaryTableInfo (tx).has_value ();
10731076
10741077 auto executerActor = CreateKqpSchemeExecuter (tx, QueryState->GetType (), SelfId (), requestType, Settings.Database , userToken,
1075- temporary, TempTablesState.SessionId , QueryState->UserRequestContext );
1078+ temporary, TempTablesState.SessionId , QueryState->UserRequestContext , KqpTempTablesAgentActor );
10761079
10771080 ExecuterId = RegisterWithSameMailbox (executerActor);
10781081 }
@@ -1175,6 +1178,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
11751178 if (!tx) {
11761179 return std::nullopt ;
11771180 }
1181+
11781182 auto optPath = tx->GetSchemeOpTempTablePath ();
11791183 if (!optPath) {
11801184 return std::nullopt ;
@@ -1201,6 +1205,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
12011205 if (!tx) {
12021206 return ;
12031207 }
1208+
12041209 auto optInfo = GetTemporaryTableInfo (tx);
12051210 if (optInfo) {
12061211 auto [isCreate, info] = *optInfo;
@@ -1888,6 +1893,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
18881893 LOG_D (" Cleanup temp tables: " << TempTablesState.TempTables .size ());
18891894 auto tempTablesManager = CreateKqpTempTablesManager (
18901895 std::move (TempTablesState), SelfId (), Settings.Database );
1896+
18911897 RegisterWithSameMailbox (tempTablesManager);
18921898 return ;
18931899 } else {
@@ -2221,6 +2227,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
22212227
22222228 NKikimrConfig::TQueryServiceConfig QueryServiceConfig;
22232229 NKikimrConfig::TMetadataProviderConfig MetadataProviderConfig;
2230+ TActorId KqpTempTablesAgentActor;
22242231 std::shared_ptr<std::atomic<bool >> CompilationCookie;
22252232};
22262233
@@ -2232,11 +2239,12 @@ IActor* CreateKqpSessionActor(const TActorId& owner, const TString& sessionId,
22322239 NYql::NDq::IDqAsyncIoFactory::TPtr asyncIoFactory,
22332240 TIntrusivePtr<TModuleResolverState> moduleResolverState, TIntrusivePtr<TKqpCounters> counters,
22342241 const NKikimrConfig::TQueryServiceConfig& queryServiceConfig,
2235- const NKikimrConfig::TMetadataProviderConfig& metadataProviderConfig)
2242+ const NKikimrConfig::TMetadataProviderConfig& metadataProviderConfig,
2243+ const TActorId& kqpTempTablesAgentActor)
22362244{
22372245 return new TKqpSessionActor (owner, sessionId, kqpSettings, workerSettings, federatedQuerySetup,
22382246 std::move (asyncIoFactory), std::move (moduleResolverState), counters,
2239- queryServiceConfig, metadataProviderConfig
2247+ queryServiceConfig, metadataProviderConfig, kqpTempTablesAgentActor
22402248 );
22412249}
22422250
0 commit comments