diff options
author | babenko <[email protected]> | 2025-05-27 10:34:10 +0300 |
---|---|---|
committer | babenko <[email protected]> | 2025-05-27 11:09:22 +0300 |
commit | 1b999caceb87a67f55fcaf76a494bbe6538e38a4 (patch) | |
tree | 33794ed11ec852136a9556fc50faa436e4e83a1d | |
parent | 4c808bf52ef5cb11f78a58b0812c4929adefebbc (diff) |
YT-22593: Drop some compats + minor migrations
commit_hash:ca4bac1e8a83960a3790a3a6241214a11356e42d
-rw-r--r-- | yt/yt/client/misc/io_tags.cpp | 3 | ||||
-rw-r--r-- | yt/yt/core/misc/protobuf_helpers.cpp | 7 | ||||
-rw-r--r-- | yt/yt/core/misc/protobuf_helpers.h | 6 | ||||
-rw-r--r-- | yt/yt/library/formats/protobuf.cpp | 26 | ||||
-rw-r--r-- | yt/yt/library/formats/protobuf.h | 26 |
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. |