summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbabenko <[email protected]>2025-05-27 10:34:10 +0300
committerbabenko <[email protected]>2025-05-27 11:09:22 +0300
commit1b999caceb87a67f55fcaf76a494bbe6538e38a4 (patch)
tree33794ed11ec852136a9556fc50faa436e4e83a1d
parent4c808bf52ef5cb11f78a58b0812c4929adefebbc (diff)
YT-22593: Drop some compats + minor migrations
commit_hash:ca4bac1e8a83960a3790a3a6241214a11356e42d
-rw-r--r--yt/yt/client/misc/io_tags.cpp3
-rw-r--r--yt/yt/core/misc/protobuf_helpers.cpp7
-rw-r--r--yt/yt/core/misc/protobuf_helpers.h6
-rw-r--r--yt/yt/library/formats/protobuf.cpp26
-rw-r--r--yt/yt/library/formats/protobuf.h26
5 files changed, 32 insertions, 36 deletions
diff --git a/yt/yt/client/misc/io_tags.cpp b/yt/yt/client/misc/io_tags.cpp
index 95367e7ddc8..9d5389cb9b0 100644
--- a/yt/yt/client/misc/io_tags.cpp
+++ b/yt/yt/client/misc/io_tags.cpp
@@ -21,8 +21,7 @@ std::string FormatIOTag(EAggregateIOTag tag)
template <class T>
void AddTagToBaggage(const NYTree::IAttributeDictionaryPtr& baggage, T tag, TStringBuf value)
{
- // TODO(babenko): switch to std::string
- baggage->Set(TString(FormatIOTag(tag)), value);
+ baggage->Set(FormatIOTag(tag), value);
}
template void AddTagToBaggage<ERawIOTag>(const NYTree::IAttributeDictionaryPtr& baggage, ERawIOTag tag, TStringBuf value);
diff --git a/yt/yt/core/misc/protobuf_helpers.cpp b/yt/yt/core/misc/protobuf_helpers.cpp
index 37428337c4d..2ed1448c919 100644
--- a/yt/yt/core/misc/protobuf_helpers.cpp
+++ b/yt/yt/core/misc/protobuf_helpers.cpp
@@ -332,7 +332,7 @@ public:
return it == ExtensionTagToExtensionDescriptor_.end() ? nullptr : &it->second;
}
- const TProtobufExtensionDescriptor* FindDescriptorByName(const TString& name) override
+ const TProtobufExtensionDescriptor* FindDescriptorByName(const std::string& name) override
{
EnsureInitialized();
@@ -454,8 +454,7 @@ void Deserialize(TExtensionSet& extensionSet, NYTree::INodePtr node)
{
auto mapNode = node->AsMap();
for (const auto& [name, value] : mapNode->GetChildren()) {
- // TODO(babenko): migrate to std::string
- const auto* extensionDescriptor = IProtobufExtensionRegistry::Get()->FindDescriptorByName(TString(name));
+ const auto* extensionDescriptor = IProtobufExtensionRegistry::Get()->FindDescriptorByName(name);
// Do not parse unknown extensions.
if (!extensionDescriptor) {
continue;
@@ -556,7 +555,7 @@ THashSet<int> GetExtensionTagSet(const NYT::NProto::TExtensionSet& source)
return tags;
}
-std::optional<TString> FindExtensionName(int tag)
+std::optional<std::string> FindExtensionName(int tag)
{
const auto* extensionDescriptor = IProtobufExtensionRegistry::Get()->FindDescriptorByTag(tag);
if (!extensionDescriptor) {
diff --git a/yt/yt/core/misc/protobuf_helpers.h b/yt/yt/core/misc/protobuf_helpers.h
index eff6f223b2f..5c22765969d 100644
--- a/yt/yt/core/misc/protobuf_helpers.h
+++ b/yt/yt/core/misc/protobuf_helpers.h
@@ -357,7 +357,7 @@ struct TProtobufExtensionDescriptor
{
const google::protobuf::Descriptor* MessageDescriptor;
const int Tag;
- const TString Name;
+ const std::string Name;
};
struct IProtobufExtensionRegistry
@@ -378,7 +378,7 @@ struct IProtobufExtensionRegistry
virtual const TProtobufExtensionDescriptor* FindDescriptorByTag(int tag) = 0;
//! Finds a descriptor by name.
- virtual const TProtobufExtensionDescriptor* FindDescriptorByName(const TString& name) = 0;
+ virtual const TProtobufExtensionDescriptor* FindDescriptorByName(const std::string& name) = 0;
//! Returns the singleton instance.
static IProtobufExtensionRegistry* Get();
@@ -437,7 +437,7 @@ NYT::NProto::TExtensionSet FilterProtoExtensions(
////////////////////////////////////////////////////////////////////////////////
THashSet<int> GetExtensionTagSet(const NYT::NProto::TExtensionSet& source);
-std::optional<TString> FindExtensionName(int tag);
+std::optional<std::string> FindExtensionName(int tag);
////////////////////////////////////////////////////////////////////////////////
diff --git a/yt/yt/library/formats/protobuf.cpp b/yt/yt/library/formats/protobuf.cpp
index 46f87d4b15d..576210ba960 100644
--- a/yt/yt/library/formats/protobuf.cpp
+++ b/yt/yt/library/formats/protobuf.cpp
@@ -36,16 +36,16 @@ using namespace NYT::NYTree;
////////////////////////////////////////////////////////////////////////////////
-TEnumerationDescription::TEnumerationDescription(const TString& name)
+TEnumerationDescription::TEnumerationDescription(const std::string& name)
: Name_(name)
{ }
-const TString& TEnumerationDescription::GetEnumerationName() const
+const std::string& TEnumerationDescription::GetEnumerationName() const
{
return Name_;
}
-const TString& TEnumerationDescription::GetValueName(i32 value) const
+const std::string& TEnumerationDescription::GetValueName(i32 value) const
{
if (auto valueName = TryGetValueName(value)) {
return *valueName;
@@ -55,7 +55,7 @@ const TString& TEnumerationDescription::GetValueName(i32 value) const
<< TErrorAttribute("value", value);
}
-const TString* TEnumerationDescription::TryGetValueName(i32 value) const
+const std::string* TEnumerationDescription::TryGetValueName(i32 value) const
{
auto it = ValueToName_.find(value);
if (it == ValueToName_.end()) {
@@ -83,7 +83,7 @@ std::optional<i32> TEnumerationDescription::TryGetValue(TStringBuf valueName) co
return it->second;
}
-void TEnumerationDescription::Add(TString name, i32 value)
+void TEnumerationDescription::Add(std::string name, i32 value)
{
if (NameToValue_.find(name) != NameToValue_.end()) {
THROW_ERROR_EXCEPTION("Enumeration %v already has value %v",
@@ -174,7 +174,7 @@ private:
////////////////////////////////////////////////////////////////////////////////
static TEnumerationDescription CreateEnumerationMap(
- const TString& enumName,
+ const std::string& enumName,
const IMapNodePtr& enumerationConfig)
{
TEnumerationDescription result(enumName);
@@ -183,12 +183,10 @@ static TEnumerationDescription CreateEnumerationMap(
const auto& valueNode = enumValue.second;
switch (valueNode->GetType()) {
case ENodeType::Uint64:
- // TODO(babenko): migrate to std::string
- result.Add(TString(name), valueNode->GetValue<ui64>());
+ result.Add(name, valueNode->GetValue<ui64>());
break;
case ENodeType::Int64:
- // TODO(babenko): migrate to std::string
- result.Add(TString(name), valueNode->GetValue<i64>());
+ result.Add(name, valueNode->GetValue<i64>());
break;
default:
THROW_ERROR_EXCEPTION("Invalid specification of %Qv enumeration: expected type \"int64\" or \"uint64\", actual type %Qlv",
@@ -386,7 +384,7 @@ void ValidateSimpleType(
auto validateLogicalType = [&] (auto... expectedTypes) {
if ((... && (logicalType != expectedTypes))) {
- auto typeNameList = std::vector<TString>{FormatEnum(expectedTypes)...};
+ auto typeNameList = std::vector<std::string>{FormatEnum(expectedTypes)...};
throwMismatchError(Format("expected logical type to be one of %v", typeNameList));
}
};
@@ -1007,14 +1005,14 @@ void TProtobufFormatDescriptionBase<TType>::InitFromProtobufSchema(
const auto& enumerationConfigMap = config->Enumerations;
for (const auto& [name_, field] : enumerationConfigMap->GetChildren()) {
// TODO(babenko): migrate to std::string
- auto name = TString(name_);
+ auto name = std::string(name_);
if (field->GetType() != ENodeType::Map) {
THROW_ERROR_EXCEPTION(R"(Invalid enumeration specification type: expected "map", found %Qlv)",
field->GetType());
}
const auto& enumerationConfig = field->AsMap();
// TODO(babenko): migrate to std::string
- EnumerationDescriptionMap_.emplace(name, CreateEnumerationMap(TString(TimestampColumnName), enumerationConfig));
+ EnumerationDescriptionMap_.emplace(name, CreateEnumerationMap(std::string(TimestampColumnName), enumerationConfig));
}
}
@@ -1046,7 +1044,7 @@ void TProtobufFormatDescriptionBase<TType>::InitFromProtobufSchema(
////////////////////////////////////////////////////////////////////////////////
template <typename TType>
-TProtobufTypeBuilder<TType>::TProtobufTypeBuilder(const THashMap<TString, TEnumerationDescription>& enumerations)
+TProtobufTypeBuilder<TType>::TProtobufTypeBuilder(const THashMap<std::string, TEnumerationDescription>& enumerations)
: Enumerations_(enumerations)
{ }
diff --git a/yt/yt/library/formats/protobuf.h b/yt/yt/library/formats/protobuf.h
index 7f0b3e38f63..14f6aff11c7 100644
--- a/yt/yt/library/formats/protobuf.h
+++ b/yt/yt/library/formats/protobuf.h
@@ -14,22 +14,22 @@ namespace NYT::NFormats {
class TEnumerationDescription
{
public:
- explicit TEnumerationDescription(const TString& name);
+ explicit TEnumerationDescription(const std::string& name);
- const TString& GetEnumerationName() const;
+ const std::string& GetEnumerationName() const;
- const TString& GetValueName(i32 value) const;
- const TString* TryGetValueName(i32 value) const;
+ const std::string& GetValueName(i32 value) const;
+ const std::string* TryGetValueName(i32 value) const;
i32 GetValue(TStringBuf name) const;
std::optional<i32> TryGetValue(TStringBuf name) const;
- void Add(TString name, i32 value);
+ void Add(std::string name, i32 value);
private:
- THashMap<TString, i32> NameToValue_;
- THashMap<i32, TString> ValueToName_;
- TString Name_;
+ THashMap<std::string, i32, THash<TStringBuf>, TEqualTo<>> NameToValue_;
+ THashMap<i32, std::string> ValueToName_;
+ std::string Name_;
};
////////////////////////////////////////////////////////////////////////////////
@@ -47,7 +47,7 @@ struct TProtobufTag
struct TProtobufFieldDescriptionBase
: public TProtobufTag
{
- TString Name;
+ std::string Name;
// Index of field inside struct (for fields corresponding to struct fields in schema).
int StructFieldIndex = 0;
@@ -224,7 +224,7 @@ public:
using TField = std::conditional_t<IsWriter, TProtobufWriterFieldDescription, TProtobufParserFieldDescription>;
using TFieldPtr = std::unique_ptr<TField>;
- TProtobufTypeBuilder(const THashMap<TString, TEnumerationDescription>& enumerations);
+ TProtobufTypeBuilder(const THashMap<std::string, TEnumerationDescription>& enumerations);
TFieldPtr CreateField(
int structFieldIndex,
@@ -234,7 +234,7 @@ public:
bool allowEmbedded = false);
private:
- const THashMap<TString, TEnumerationDescription>& Enumerations_;
+ const THashMap<std::string, TEnumerationDescription>& Enumerations_;
private:
// Traverse type config, matching it with type descriptor from schema.
@@ -281,7 +281,7 @@ protected:
const std::vector<NTableClient::TTableSchemaPtr>& schemas);
private:
- THashMap<TString, TEnumerationDescription> EnumerationDescriptionMap_;
+ THashMap<std::string, TEnumerationDescription> EnumerationDescriptionMap_;
private:
virtual void AddTable(NYT::TIntrusivePtr<TType> tableType) = 0;
@@ -341,7 +341,7 @@ private:
struct TTableDescription
{
TProtobufWriterTypePtr Type;
- THashMap<TString, const TProtobufWriterFieldDescription*> Columns;
+ THashMap<std::string, const TProtobufWriterFieldDescription*, THash<TStringBuf>, TEqualTo<>> Columns;
std::vector<TProtobufWriterEmbeddingDescription> Embeddings;
// Cached data.