From 847b025f0cfd74f1fe181cfa2bfafae2050cad66 Mon Sep 17 00:00:00 2001 From: Pavel Velikhov Date: Mon, 29 Jul 2024 09:49:07 +0000 Subject: [PATCH] Added metadata flag to track if stats for optimizer were loaded --- ydb/core/kqp/gateway/kqp_metadata_loader.cpp | 1 + ydb/core/kqp/provider/yql_kikimr_gateway.h | 3 +++ ydb/core/protos/kqp.proto | 1 + 3 files changed, 5 insertions(+) diff --git a/ydb/core/kqp/gateway/kqp_metadata_loader.cpp b/ydb/core/kqp/gateway/kqp_metadata_loader.cpp index cf0c76f3546d..b76d1668a7a9 100644 --- a/ydb/core/kqp/gateway/kqp_metadata_loader.cpp +++ b/ydb/core/kqp/gateway/kqp_metadata_loader.cpp @@ -891,6 +891,7 @@ NThreading::TFuture TKqpTableMetadataLoader::LoadTableMeta auto s = std::get(resp.Statistics); result.Metadata->RecordsCount = s.RowCount; result.Metadata->DataSize = s.BytesSize; + result.Metadata->StatsLoaded = true; } promise.SetValue(result); }); diff --git a/ydb/core/kqp/provider/yql_kikimr_gateway.h b/ydb/core/kqp/provider/yql_kikimr_gateway.h index 3c9b541eee70..af3e40349bfd 100644 --- a/ydb/core/kqp/provider/yql_kikimr_gateway.h +++ b/ydb/core/kqp/provider/yql_kikimr_gateway.h @@ -416,6 +416,7 @@ struct TKikimrTableMetadata : public TThrRefBase { ui64 DataSize = 0; ui64 MemorySize = 0; ui32 ShardsCount = 0; + bool StatsLoaded = false; TInstant LastAccessTime; TInstant LastUpdateTime; @@ -452,6 +453,7 @@ struct TKikimrTableMetadata : public TThrRefBase { , Kind(static_cast(message->GetKind())) , RecordsCount(message->GetRecordsCount()) , DataSize(message->GetDataSize()) + , StatsLoaded(message->GetStatsLoaded) , KeyColumnNames(message->GetKeyColunmNames().begin(), message->GetKeyColunmNames().end()) { @@ -519,6 +521,7 @@ struct TKikimrTableMetadata : public TThrRefBase { message->SetKind(static_cast(Kind)); message->SetRecordsCount(RecordsCount); message->SetDataSize(DataSize); + message->SetStatsLoaded(StatsLoaded); for(auto& [key, value] : Attributes) { message->AddAttributes()->SetKey(key); message->AddAttributes()->SetValue(value); diff --git a/ydb/core/protos/kqp.proto b/ydb/core/protos/kqp.proto index 37b7e8834450..a88ca189bdb3 100644 --- a/ydb/core/protos/kqp.proto +++ b/ydb/core/protos/kqp.proto @@ -169,6 +169,7 @@ message TKqpTableMetadataProto { repeated TKqpTableMetadataProto SecondaryGlobalIndexMetadata = 12; optional uint64 RecordsCount = 13; optional uint64 DataSize = 14; + optional bool StatsLoaded = 15; } message TRlPath {