aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsabdenovch <sabdenovch@yandex-team.com>2024-10-09 21:35:06 +0300
committersabdenovch <sabdenovch@yandex-team.com>2024-10-09 21:45:49 +0300
commit7ec4e4a90eae9c0014caed319fa58fc97aa16946 (patch)
tree74a01ac96af19dd2cd8b8d4f1687c4a1ec68058f
parentde6957daca83db4933f2cfe6cf8cbf8751449fe9 (diff)
downloadydb-7ec4e4a90eae9c0014caed319fa58fc97aa16946.tar.gz
YT-22867: Change unfolding index API
Also changes store metadata, which is actually the main raison d’etre for this PR. commit_hash:1ac4986ea5869045c9d76055dbee2b3af1c06613
-rw-r--r--yt/yt/client/api/rpc_proxy/table_mount_cache.cpp5
-rw-r--r--yt/yt/client/tablet_client/table_mount_cache.h1
-rw-r--r--yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto1
3 files changed, 4 insertions, 3 deletions
diff --git a/yt/yt/client/api/rpc_proxy/table_mount_cache.cpp b/yt/yt/client/api/rpc_proxy/table_mount_cache.cpp
index 392312d511..571d0901b6 100644
--- a/yt/yt/client/api/rpc_proxy/table_mount_cache.cpp
+++ b/yt/yt/client/api/rpc_proxy/table_mount_cache.cpp
@@ -103,9 +103,8 @@ private:
TIndexInfo indexInfo{
.TableId = FromProto<NObjectClient::TObjectId>(protoIndexInfo.index_table_id()),
.Kind = FromProto<ESecondaryIndexKind>(protoIndexInfo.index_kind()),
- .Predicate = protoIndexInfo.has_predicate()
- ? std::make_optional(FromProto<TString>(protoIndexInfo.predicate()))
- : std::nullopt,
+ .Predicate = YT_PROTO_OPTIONAL(protoIndexInfo, predicate),
+ .UnfoldedColumn = YT_PROTO_OPTIONAL(protoIndexInfo, unfolded_column),
};
THROW_ERROR_EXCEPTION_UNLESS(TEnumTraits<ESecondaryIndexKind>::FindLiteralByValue(indexInfo.Kind).has_value(),
"Unsupported secondary index kind %Qlv (client not up-to-date)",
diff --git a/yt/yt/client/tablet_client/table_mount_cache.h b/yt/yt/client/tablet_client/table_mount_cache.h
index a450fdf833..086b466487 100644
--- a/yt/yt/client/tablet_client/table_mount_cache.h
+++ b/yt/yt/client/tablet_client/table_mount_cache.h
@@ -65,6 +65,7 @@ struct TIndexInfo
NObjectClient::TObjectId TableId;
ESecondaryIndexKind Kind;
std::optional<TString> Predicate;
+ std::optional<TString> UnfoldedColumn;
};
////////////////////////////////////////////////////////////////////////////////
diff --git a/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto b/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto
index 54321bcc96..7f3bae6c0a 100644
--- a/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto
+++ b/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto
@@ -1445,6 +1445,7 @@ message TIndexInfo
required NYT.NProto.TGuid index_table_id = 1;
required int32 index_kind = 2; // NTableClient::ESecondaryIndexKind
optional string predicate = 3;
+ optional string unfolded_column = 4;
}
message TReqGetTableMountInfo