summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--library/cpp/yt/yson_string/convert.cpp6
-rw-r--r--library/cpp/yt/yson_string/convert.h2
-rw-r--r--yt/yt/client/api/delegating_client.h2
-rw-r--r--yt/yt/client/api/delegating_transaction.cpp2
-rw-r--r--yt/yt/client/api/delegating_transaction.h2
-rw-r--r--yt/yt/client/api/dynamic_table_transaction.h2
-rw-r--r--yt/yt/client/api/dynamic_table_transaction_mixin.cpp2
-rw-r--r--yt/yt/client/api/dynamic_table_transaction_mixin.h2
-rw-r--r--yt/yt/client/api/query_tracker_client.h2
-rw-r--r--yt/yt/client/api/rpc_proxy/client_impl.cpp6
-rw-r--r--yt/yt/client/api/rpc_proxy/client_impl.h2
-rw-r--r--yt/yt/client/api/rpc_proxy/helpers.cpp12
-rw-r--r--yt/yt/client/api/rpc_proxy/table_reader.cpp16
-rw-r--r--yt/yt/client/api/security_client.cpp2
-rw-r--r--yt/yt/client/api/security_client.h4
-rw-r--r--yt/yt/client/api/shuffle_client.h2
-rw-r--r--yt/yt/client/api/table_reader.h2
-rw-r--r--yt/yt/client/arrow/arrow_row_stream_encoder.cpp2
-rw-r--r--yt/yt/client/driver/etc_commands.cpp2
-rw-r--r--yt/yt/client/driver/query_commands.cpp2
-rw-r--r--yt/yt/client/driver/table_commands.h8
-rw-r--r--yt/yt/client/federated/client.cpp2
-rw-r--r--yt/yt/client/federated/unittests/client_ut.cpp4
-rw-r--r--yt/yt/client/formats/config.cpp6
-rw-r--r--yt/yt/client/formats/config.h13
-rw-r--r--yt/yt/client/hedging/hedging.cpp2
-rw-r--r--yt/yt/client/table_client/blob_reader.cpp18
-rw-r--r--yt/yt/client/table_client/blob_reader.h8
-rw-r--r--yt/yt/client/table_client/column_sort_schema.cpp8
-rw-r--r--yt/yt/client/table_client/column_sort_schema.h2
-rw-r--r--yt/yt/client/table_client/columnar_statistics.cpp2
-rw-r--r--yt/yt/client/table_client/columnar_statistics.h4
-rw-r--r--yt/yt/client/table_client/logical_type.cpp34
-rw-r--r--yt/yt/client/table_client/logical_type.h10
-rw-r--r--yt/yt/client/table_client/name_table.cpp10
-rw-r--r--yt/yt/client/table_client/name_table.h6
-rw-r--r--yt/yt/client/table_client/public.cpp25
-rw-r--r--yt/yt/client/table_client/public.h30
-rw-r--r--yt/yt/client/table_client/schema.cpp112
-rw-r--r--yt/yt/client/table_client/schema.h54
-rw-r--r--yt/yt/client/table_client/validate_logical_type.cpp4
-rw-r--r--yt/yt/client/tablet_client/watermark_runtime_data.h2
-rw-r--r--yt/yt/client/unittests/mock/client.h2
-rw-r--r--yt/yt/client/unittests/mock/table_reader.h2
-rw-r--r--yt/yt/client/ypath/parser_detail.cpp2
-rw-r--r--yt/yt/client/ypath/rich.cpp6
-rw-r--r--yt/yt/client/ypath/rich.h4
-rw-r--r--yt/yt/library/formats/arrow_writer.cpp4
-rw-r--r--yt/yt/library/formats/protobuf.cpp3
-rw-r--r--yt/yt/library/formats/schemaful_dsv_parser.cpp10
-rw-r--r--yt/yt/library/formats/schemaful_dsv_writer.cpp4
-rw-r--r--yt/yt/library/formats/web_json_writer.cpp6
-rw-r--r--yt/yt/library/formats/yamred_dsv_parser.cpp20
-rw-r--r--yt/yt/library/named_value/named_value.h6
-rw-r--r--yt/yt/library/skiff_ext/parser-inl.h8
-rw-r--r--yt/yt/library/skiff_ext/parser.h4
-rw-r--r--yt/yt/library/skiff_ext/schema_match.cpp18
-rw-r--r--yt/yt/library/skiff_ext/schema_match.h4
58 files changed, 274 insertions, 267 deletions
diff --git a/library/cpp/yt/yson_string/convert.cpp b/library/cpp/yt/yson_string/convert.cpp
index 6d78ea6c9db..68241adb789 100644
--- a/library/cpp/yt/yson_string/convert.cpp
+++ b/library/cpp/yt/yson_string/convert.cpp
@@ -67,6 +67,12 @@ TYsonString ConvertToYsonString<TString>(const TString& value)
return ConvertToYsonString(static_cast<TStringBuf>(value));
}
+template <>
+TYsonString ConvertToYsonString<std::string>(const std::string& value)
+{
+ return ConvertToYsonString(static_cast<TStringBuf>(value));
+}
+
struct TConvertStringToYsonStringTag
{ };
diff --git a/library/cpp/yt/yson_string/convert.h b/library/cpp/yt/yson_string/convert.h
index 06de28d2f9d..eedb0939e00 100644
--- a/library/cpp/yt/yson_string/convert.h
+++ b/library/cpp/yt/yson_string/convert.h
@@ -44,6 +44,8 @@ TYsonString ConvertToYsonString<ui64>(const ui64& value);
template <>
TYsonString ConvertToYsonString<TString>(const TString& value);
template <>
+TYsonString ConvertToYsonString<std::string>(const std::string& value);
+template <>
TYsonString ConvertToYsonString<TStringBuf>(const TStringBuf& value);
TYsonString ConvertToYsonString(const char* value);
diff --git a/yt/yt/client/api/delegating_client.h b/yt/yt/client/api/delegating_client.h
index 6f856571390..9cb73f3fb1b 100644
--- a/yt/yt/client/api/delegating_client.h
+++ b/yt/yt/client/api/delegating_client.h
@@ -881,7 +881,7 @@ public:
DELEGATE_METHOD(TFuture<IRowBatchWriterPtr>, CreateShuffleWriter, (
const TShuffleHandlePtr& shuffleHandle,
- const TString& partitionColumn,
+ const std::string& partitionColumn,
const NTableClient::TTableWriterConfigPtr& config),
(shuffleHandle, partitionColumn, config))
diff --git a/yt/yt/client/api/delegating_transaction.cpp b/yt/yt/client/api/delegating_transaction.cpp
index 156eb1dde75..8a8ddf96dd9 100644
--- a/yt/yt/client/api/delegating_transaction.cpp
+++ b/yt/yt/client/api/delegating_transaction.cpp
@@ -264,7 +264,7 @@ DELEGATE_METHOD(void, LockRows, (
const NYPath::TYPath& path,
NTableClient::TNameTablePtr nameTable,
TSharedRange<NTableClient::TLegacyKey> keys,
- const std::vector<TString>& locks,
+ const std::vector<std::string>& locks,
NTableClient::ELockType lockType),
(path, nameTable, keys, locks, lockType))
diff --git a/yt/yt/client/api/delegating_transaction.h b/yt/yt/client/api/delegating_transaction.h
index e0a71dee00e..e0263fc7992 100644
--- a/yt/yt/client/api/delegating_transaction.h
+++ b/yt/yt/client/api/delegating_transaction.h
@@ -214,7 +214,7 @@ public:
const NYPath::TYPath& path,
NTableClient::TNameTablePtr nameTable,
TSharedRange<NTableClient::TLegacyKey> keys,
- const std::vector<TString>& locks,
+ const std::vector<std::string>& locks,
NTableClient::ELockType lockType) override;
void ModifyRows(
diff --git a/yt/yt/client/api/dynamic_table_transaction.h b/yt/yt/client/api/dynamic_table_transaction.h
index b22e9bcd8f0..37db074bdf8 100644
--- a/yt/yt/client/api/dynamic_table_transaction.h
+++ b/yt/yt/client/api/dynamic_table_transaction.h
@@ -106,7 +106,7 @@ struct IDynamicTableTransaction
const NYPath::TYPath& path,
NTableClient::TNameTablePtr nameTable,
TSharedRange<NTableClient::TLegacyKey> keys,
- const std::vector<TString>& locks,
+ const std::vector<std::string>& locks,
NTableClient::ELockType lockType = NTableClient::ELockType::SharedStrong) = 0;
virtual void ModifyRows(
diff --git a/yt/yt/client/api/dynamic_table_transaction_mixin.cpp b/yt/yt/client/api/dynamic_table_transaction_mixin.cpp
index 240e4ea548b..4f1d2c901f4 100644
--- a/yt/yt/client/api/dynamic_table_transaction_mixin.cpp
+++ b/yt/yt/client/api/dynamic_table_transaction_mixin.cpp
@@ -152,7 +152,7 @@ void TDynamicTableTransactionMixin::LockRows(
const NYPath::TYPath& path,
TNameTablePtr nameTable,
TSharedRange<TLegacyKey> keys,
- const std::vector<TString>& locks,
+ const std::vector<std::string>& locks,
ELockType lockType)
{
const auto& tableMountCache = GetClient()->GetTableMountCache();
diff --git a/yt/yt/client/api/dynamic_table_transaction_mixin.h b/yt/yt/client/api/dynamic_table_transaction_mixin.h
index c8492f1bf61..ab94daaa77d 100644
--- a/yt/yt/client/api/dynamic_table_transaction_mixin.h
+++ b/yt/yt/client/api/dynamic_table_transaction_mixin.h
@@ -43,7 +43,7 @@ public:
const NYPath::TYPath& path,
NTableClient::TNameTablePtr nameTable,
TSharedRange<NTableClient::TLegacyKey> keys,
- const std::vector<TString>& locks,
+ const std::vector<std::string>& locks,
NTableClient::ELockType lockType = NTableClient::ELockType::SharedStrong) override;
};
diff --git a/yt/yt/client/api/query_tracker_client.h b/yt/yt/client/api/query_tracker_client.h
index 4e198ed4b38..0e0fc147bf8 100644
--- a/yt/yt/client/api/query_tracker_client.h
+++ b/yt/yt/client/api/query_tracker_client.h
@@ -62,7 +62,7 @@ struct TReadQueryResultOptions
: public TTimeoutOptions
, public TQueryTrackerOptions
{
- std::optional<std::vector<TString>> Columns;
+ std::optional<std::vector<std::string>> Columns;
std::optional<i64> LowerRowIndex;
std::optional<i64> UpperRowIndex;
};
diff --git a/yt/yt/client/api/rpc_proxy/client_impl.cpp b/yt/yt/client/api/rpc_proxy/client_impl.cpp
index b01b2ffd90b..7575886a687 100644
--- a/yt/yt/client/api/rpc_proxy/client_impl.cpp
+++ b/yt/yt/client/api/rpc_proxy/client_impl.cpp
@@ -2310,7 +2310,7 @@ TFuture<IUnversionedRowsetPtr> TClient::ReadQueryResult(
if (options.Columns) {
auto* protoColumns = req->mutable_columns();
for (const auto& column : *options.Columns) {
- protoColumns->add_items(column);
+ protoColumns->add_items(ToProto(column));
}
}
if (options.LowerRowIndex) {
@@ -2720,7 +2720,7 @@ TFuture<IRowBatchReaderPtr> TClient::CreateShuffleReader(
TFuture<IRowBatchWriterPtr> TClient::CreateShuffleWriter(
const TShuffleHandlePtr& shuffleHandle,
- const TString& partitionColumn,
+ const std::string& partitionColumn,
const TTableWriterConfigPtr& config)
{
auto proxy = CreateApiServiceProxy();
@@ -2728,7 +2728,7 @@ TFuture<IRowBatchWriterPtr> TClient::CreateShuffleWriter(
InitStreamingRequest(*req);
req->set_shuffle_handle(ConvertToYsonString(shuffleHandle).ToString());
- req->set_partition_column(partitionColumn);
+ req->set_partition_column(ToProto(partitionColumn));
req->set_writer_config(ConvertToYsonString(config).ToString());
return CreateRpcClientOutputStream(std::move(req))
diff --git a/yt/yt/client/api/rpc_proxy/client_impl.h b/yt/yt/client/api/rpc_proxy/client_impl.h
index 16e94003914..3e73bc47f0e 100644
--- a/yt/yt/client/api/rpc_proxy/client_impl.h
+++ b/yt/yt/client/api/rpc_proxy/client_impl.h
@@ -585,7 +585,7 @@ public:
TFuture<IRowBatchWriterPtr> CreateShuffleWriter(
const TShuffleHandlePtr& shuffleHandle,
- const TString& partitionColumn,
+ const std::string& partitionColumn,
const NTableClient::TTableWriterConfigPtr& config) override;
private:
diff --git a/yt/yt/client/api/rpc_proxy/helpers.cpp b/yt/yt/client/api/rpc_proxy/helpers.cpp
index 13c51ed862d..d37fc8b2bdf 100644
--- a/yt/yt/client/api/rpc_proxy/helpers.cpp
+++ b/yt/yt/client/api/rpc_proxy/helpers.cpp
@@ -468,13 +468,13 @@ void FromProto(
void ToProto(NProto::TColumnSchema* protoSchema, const NTableClient::TColumnSchema& schema)
{
- protoSchema->set_stable_name(schema.StableName().Underlying());
- protoSchema->set_name(schema.Name());
+ protoSchema->set_stable_name(ToProto(schema.StableName()));
+ protoSchema->set_name(ToProto(schema.Name()));
protoSchema->set_type(ToProto(GetPhysicalType(schema.CastToV1Type())));
auto typeV3Yson = ConvertToYsonString(TTypeV3LogicalTypeWrapper{schema.LogicalType()});
protoSchema->set_type_v3(typeV3Yson.ToString());
if (schema.Lock()) {
- protoSchema->set_lock(*schema.Lock());
+ protoSchema->set_lock(ToProto(*schema.Lock()));
} else {
protoSchema->clear_lock();
}
@@ -489,7 +489,7 @@ void ToProto(NProto::TColumnSchema* protoSchema, const NTableClient::TColumnSche
protoSchema->clear_materialized();
}
if (schema.Aggregate()) {
- protoSchema->set_aggregate(*schema.Aggregate());
+ protoSchema->set_aggregate(ToProto(*schema.Aggregate()));
} else {
protoSchema->clear_aggregate();
}
@@ -499,7 +499,7 @@ void ToProto(NProto::TColumnSchema* protoSchema, const NTableClient::TColumnSche
protoSchema->clear_sort_order();
}
if (schema.Group()) {
- protoSchema->set_group(*schema.Group());
+ protoSchema->set_group(ToProto(*schema.Group()));
} else {
protoSchema->clear_group();
}
@@ -2158,7 +2158,7 @@ std::vector<TSharedRef> SerializeRowset(
// COMPAT(babenko)
for (const auto& column : schema.Columns()) {
auto* entry = descriptor->add_name_table_entries();
- entry->set_name(column.Name());
+ entry->set_name(ToProto(column.Name()));
// we save physical type for backward compatibility
// COMPAT(babenko)
entry->set_type(ToProto(column.GetWireType()));
diff --git a/yt/yt/client/api/rpc_proxy/table_reader.cpp b/yt/yt/client/api/rpc_proxy/table_reader.cpp
index bb1f571332b..6df6bef2411 100644
--- a/yt/yt/client/api/rpc_proxy/table_reader.cpp
+++ b/yt/yt/client/api/rpc_proxy/table_reader.cpp
@@ -22,7 +22,7 @@ public:
TTableReader(
IAsyncZeroCopyInputStreamPtr underlying,
i64 startRowIndex,
- const std::vector<TString>& omittedInaccessibleColumns,
+ const std::vector<std::string>& omittedInaccessibleColumns,
TTableSchemaPtr schema,
const NProto::TRowsetStatistics& statistics)
: TRowBatchReader(std::move(underlying), /*isStreamWithStatistics*/ true)
@@ -57,7 +57,7 @@ public:
return TableSchema_;
}
- const std::vector<TString>& GetOmittedInaccessibleColumns() const override
+ const std::vector<std::string>& GetOmittedInaccessibleColumns() const override
{
return OmittedInaccessibleColumns_;
}
@@ -65,7 +65,7 @@ public:
private:
const i64 StartRowIndex_;
const TTableSchemaPtr TableSchema_;
- const std::vector<TString> OmittedInaccessibleColumns_;
+ const std::vector<std::string> OmittedInaccessibleColumns_;
NChunkClient::NProto::TDataStatistics DataStatistics_;
i64 TotalRowCount_;
@@ -85,15 +85,11 @@ TFuture<ITableReaderPtr> CreateTableReader(IAsyncZeroCopyInputStreamPtr inputStr
THROW_ERROR_EXCEPTION("Failed to deserialize table reader meta information");
}
- i64 startRowIndex = meta.start_row_index();
- auto omittedInaccessibleColumns = FromProto<std::vector<TString>>(
- meta.omitted_inaccessible_columns());
- auto schema = NYT::FromProto<TTableSchemaPtr>(meta.schema());
return New<TTableReader>(
inputStream,
- startRowIndex,
- std::move(omittedInaccessibleColumns),
- std::move(schema),
+ meta.start_row_index(),
+ FromProto<std::vector<std::string>>(meta.omitted_inaccessible_columns()),
+ NYT::FromProto<TTableSchemaPtr>(meta.schema()),
meta.statistics());
})).As<ITableReaderPtr>();
}
diff --git a/yt/yt/client/api/security_client.cpp b/yt/yt/client/api/security_client.cpp
index 2b0d0f675ce..f30a2886149 100644
--- a/yt/yt/client/api/security_client.cpp
+++ b/yt/yt/client/api/security_client.cpp
@@ -9,7 +9,7 @@ using namespace NYTree;
TError TCheckPermissionResult::ToError(
const std::string& user,
EPermission permission,
- const std::optional<TString>& column) const
+ const std::optional<std::string>& column) const
{
switch (Action) {
case NSecurityClient::ESecurityAction::Allow:
diff --git a/yt/yt/client/api/security_client.h b/yt/yt/client/api/security_client.h
index a606229e494..cb639d678ba 100644
--- a/yt/yt/client/api/security_client.h
+++ b/yt/yt/client/api/security_client.h
@@ -26,7 +26,7 @@ struct TCheckPermissionOptions
, public TTransactionalOptions
, public TPrerequisiteOptions
{
- std::optional<std::vector<TString>> Columns;
+ std::optional<std::vector<std::string>> Columns;
std::optional<bool> Vital;
};
@@ -35,7 +35,7 @@ struct TCheckPermissionResult
TError ToError(
const std::string& user,
NYTree::EPermission permission,
- const std::optional<TString>& columns = {}) const;
+ const std::optional<std::string>& columns = {}) const;
NSecurityClient::ESecurityAction Action;
NObjectClient::TObjectId ObjectId;
diff --git a/yt/yt/client/api/shuffle_client.h b/yt/yt/client/api/shuffle_client.h
index d7972cd680b..650096a30c7 100644
--- a/yt/yt/client/api/shuffle_client.h
+++ b/yt/yt/client/api/shuffle_client.h
@@ -53,7 +53,7 @@ struct IShuffleClient
virtual TFuture<IRowBatchWriterPtr> CreateShuffleWriter(
const TShuffleHandlePtr& shuffleHandle,
- const TString& partitionColumn,
+ const std::string& partitionColumn,
const NTableClient::TTableWriterConfigPtr& config = New<NTableClient::TTableWriterConfig>()) = 0;
};
diff --git a/yt/yt/client/api/table_reader.h b/yt/yt/client/api/table_reader.h
index b26e970657e..8a447ea5edf 100644
--- a/yt/yt/client/api/table_reader.h
+++ b/yt/yt/client/api/table_reader.h
@@ -26,7 +26,7 @@ struct ITableReader
//! Returns the names of columns that are not accessible according to columnar ACL
//! and were omitted. See #TTableReaderOptions::OmitInaccessibleColumns.
- virtual const std::vector<TString>& GetOmittedInaccessibleColumns() const = 0;
+ virtual const std::vector<std::string>& GetOmittedInaccessibleColumns() const = 0;
};
DEFINE_REFCOUNTED_TYPE(ITableReader)
diff --git a/yt/yt/client/arrow/arrow_row_stream_encoder.cpp b/yt/yt/client/arrow/arrow_row_stream_encoder.cpp
index 23a06a45b71..25a403790c0 100644
--- a/yt/yt/client/arrow/arrow_row_stream_encoder.cpp
+++ b/yt/yt/client/arrow/arrow_row_stream_encoder.cpp
@@ -39,7 +39,7 @@ constexpr i64 ArrowAlignment = 8;
flatbuffers::Offset<flatbuffers::String> SerializeString(
flatbuffers::FlatBufferBuilder* flatbufBuilder,
- const TString& str)
+ const std::string& str)
{
return flatbufBuilder->CreateString(str.data(), str.length());
}
diff --git a/yt/yt/client/driver/etc_commands.cpp b/yt/yt/client/driver/etc_commands.cpp
index 25da308a57e..288d42610f2 100644
--- a/yt/yt/client/driver/etc_commands.cpp
+++ b/yt/yt/client/driver/etc_commands.cpp
@@ -109,7 +109,7 @@ void TCheckPermissionCommand::Register(TRegistrar registrar)
registrar.Parameter("user", &TThis::User);
registrar.Parameter("permission", &TThis::Permission);
registrar.Parameter("path", &TThis::Path);
- registrar.ParameterWithUniversalAccessor<std::optional<std::vector<TString>>>(
+ registrar.ParameterWithUniversalAccessor<std::optional<std::vector<std::string>>>(
"columns",
[] (TThis* command) -> auto& {
return command->Options.Columns;
diff --git a/yt/yt/client/driver/query_commands.cpp b/yt/yt/client/driver/query_commands.cpp
index e3903d004b3..ab2d9395e1f 100644
--- a/yt/yt/client/driver/query_commands.cpp
+++ b/yt/yt/client/driver/query_commands.cpp
@@ -153,7 +153,7 @@ void TReadQueryResultCommand::Register(TRegistrar registrar)
})
.Optional(/*init*/ false);
- registrar.ParameterWithUniversalAccessor<std::optional<std::vector<TString>>>(
+ registrar.ParameterWithUniversalAccessor<std::optional<std::vector<std::string>>>(
"columns",
[] (TThis* command) -> auto& {
return command->Options.Columns;
diff --git a/yt/yt/client/driver/table_commands.h b/yt/yt/client/driver/table_commands.h
index 2e1e8e22d58..fde7e0b66a0 100644
--- a/yt/yt/client/driver/table_commands.h
+++ b/yt/yt/client/driver/table_commands.h
@@ -46,8 +46,8 @@ private:
NYPath::TRichYPath Path;
NYTree::INodePtr TableReader;
- std::optional<TString> PartIndexColumnName;
- std::optional<TString> DataColumnName;
+ std::optional<std::string> PartIndexColumnName;
+ std::optional<std::string> DataColumnName;
i64 StartPartIndex;
i64 Offset;
@@ -375,7 +375,7 @@ public:
private:
NYTree::INodePtr TableWriter;
NYPath::TRichYPath Path;
- std::optional<std::vector<TString>> ColumnNames;
+ std::optional<std::vector<std::string>> ColumnNames;
bool Versioned;
NTableClient::TRetentionConfigPtr RetentionConfig;
@@ -451,7 +451,7 @@ public:
private:
NYTree::INodePtr TableWriter;
NYPath::TRichYPath Path;
- std::vector<TString> Locks;
+ std::vector<std::string> Locks;
NTableClient::ELockType LockType;
void DoExecute(ICommandContextPtr context) override;
diff --git a/yt/yt/client/federated/client.cpp b/yt/yt/client/federated/client.cpp
index f43f76958dd..040c19a17c1 100644
--- a/yt/yt/client/federated/client.cpp
+++ b/yt/yt/client/federated/client.cpp
@@ -490,7 +490,7 @@ public:
UNIMPLEMENTED_METHOD(TFuture<TShuffleHandlePtr>, StartShuffle, (const TString& , int, const TStartShuffleOptions&));
UNIMPLEMENTED_METHOD(TFuture<void>, FinishShuffle, (const TShuffleHandlePtr&, const TFinishShuffleOptions&));
UNIMPLEMENTED_METHOD(TFuture<IRowBatchReaderPtr>, CreateShuffleReader, (const TShuffleHandlePtr&, int, const NTableClient::TTableReaderConfigPtr&));
- UNIMPLEMENTED_METHOD(TFuture<IRowBatchWriterPtr>, CreateShuffleWriter, (const TShuffleHandlePtr&, const TString&, const NTableClient::TTableWriterConfigPtr&));
+ UNIMPLEMENTED_METHOD(TFuture<IRowBatchWriterPtr>, CreateShuffleWriter, (const TShuffleHandlePtr&, const std::string&, const NTableClient::TTableWriterConfigPtr&));
private:
friend class TTransaction;
diff --git a/yt/yt/client/federated/unittests/client_ut.cpp b/yt/yt/client/federated/unittests/client_ut.cpp
index 54ec11d6cb4..daf7529e787 100644
--- a/yt/yt/client/federated/unittests/client_ut.cpp
+++ b/yt/yt/client/federated/unittests/client_ut.cpp
@@ -78,8 +78,8 @@ struct TTestDataStorage
}
const NYPath::TYPath Path = "/test/table";
- const TString KeyColumn = "key";
- const TString ValueColumn = "value";
+ const std::string KeyColumn = "key";
+ const std::string ValueColumn = "value";
const NTableClient::TColumnSchema KeyColumnSchema = NTableClient::TColumnSchema(KeyColumn, NTableClient::EValueType::Uint64);
const NTableClient::TColumnSchema ValueColumnSchema = NTableClient::TColumnSchema(ValueColumn, NTableClient::EValueType::Uint64);
diff --git a/yt/yt/client/formats/config.cpp b/yt/yt/client/formats/config.cpp
index f6c6a8c8a61..71c11520617 100644
--- a/yt/yt/client/formats/config.cpp
+++ b/yt/yt/client/formats/config.cpp
@@ -131,7 +131,7 @@ void TYamredDsvFormatConfig::Register(TRegistrar registrar)
});
registrar.Postprocessor([] (TThis* config) {
- THashSet<TString> names;
+ THashSet<std::string> names;
for (const auto& name : config->KeyColumnNames) {
if (!names.insert(name).second) {
@@ -151,7 +151,7 @@ void TYamredDsvFormatConfig::Register(TRegistrar registrar)
////////////////////////////////////////////////////////////////////////////////
-const std::vector<TString>& TSchemafulDsvFormatConfig::GetColumnsOrThrow() const
+const std::vector<std::string>& TSchemafulDsvFormatConfig::GetColumnsOrThrow() const
{
if (!Columns) {
THROW_ERROR_EXCEPTION("Missing \"columns\" attribute in schemaful DSV format");
@@ -188,7 +188,7 @@ void TSchemafulDsvFormatConfig::Register(TRegistrar registrar)
registrar.Postprocessor([] (TThis* config) {
if (config->Columns) {
- THashSet<TString> names;
+ THashSet<std::string> names;
for (const auto& name : *config->Columns) {
if (!names.insert(name).second) {
THROW_ERROR_EXCEPTION("Duplicate column name %Qv in schemaful DSV configuration",
diff --git a/yt/yt/client/formats/config.h b/yt/yt/client/formats/config.h
index a371050ae68..aec3f30db4a 100644
--- a/yt/yt/client/formats/config.h
+++ b/yt/yt/client/formats/config.h
@@ -149,8 +149,7 @@ class TDsvFormatConfig
: public TDsvFormatConfigBase
{
public:
-
- TString TableIndexColumn;
+ std::string TableIndexColumn;
bool SkipUnsupportedTypes = false;
REGISTER_YSON_STRUCT(TDsvFormatConfig);
@@ -169,8 +168,8 @@ class TYamredDsvFormatConfig
public:
char YamrKeysSeparator;
- std::vector<TString> KeyColumnNames;
- std::vector<TString> SubkeyColumnNames;
+ std::vector<std::string> KeyColumnNames;
+ std::vector<std::string> SubkeyColumnNames;
bool SkipUnsupportedTypesInValue = false;
@@ -193,14 +192,14 @@ class TSchemafulDsvFormatConfig
: public TTableFormatConfigBase
{
public:
- std::optional<std::vector<TString>> Columns;
+ std::optional<std::vector<std::string>> Columns;
EMissingSchemafulDsvValueMode MissingValueMode;
TString MissingValueSentinel;
std::optional<bool> EnableColumnNamesHeader;
- const std::vector<TString>& GetColumnsOrThrow() const;
+ const std::vector<std::string>& GetColumnsOrThrow() const;
REGISTER_YSON_STRUCT(TSchemafulDsvFormatConfig);
@@ -382,7 +381,7 @@ public:
int FieldWeightLimit;
int StringWeightLimit;
int MaxAllColumnNamesCount;
- std::optional<std::vector<TString>> ColumnNames;
+ std::optional<std::vector<std::string>> ColumnNames;
EWebJsonValueFormat ValueFormat;
// Intentionally do not reveal following options to user.
diff --git a/yt/yt/client/hedging/hedging.cpp b/yt/yt/client/hedging/hedging.cpp
index 3fb36f85609..b083f87ff3d 100644
--- a/yt/yt/client/hedging/hedging.cpp
+++ b/yt/yt/client/hedging/hedging.cpp
@@ -231,7 +231,7 @@ public:
UNSUPPORTED_METHOD(TFuture<TShuffleHandlePtr>, StartShuffle, (const TString&, int, const TStartShuffleOptions&));
UNSUPPORTED_METHOD(TFuture<void>, FinishShuffle, (const TShuffleHandlePtr&, const TFinishShuffleOptions&));
UNSUPPORTED_METHOD(TFuture<IRowBatchReaderPtr>, CreateShuffleReader, (const TShuffleHandlePtr&, int, const NTableClient::TTableReaderConfigPtr&));
- UNSUPPORTED_METHOD(TFuture<IRowBatchWriterPtr>, CreateShuffleWriter, (const TShuffleHandlePtr&, const TString&, const NTableClient::TTableWriterConfigPtr&));
+ UNSUPPORTED_METHOD(TFuture<IRowBatchWriterPtr>, CreateShuffleWriter, (const TShuffleHandlePtr&, const std::string&, const NTableClient::TTableWriterConfigPtr&));
private:
const THedgingExecutorPtr Executor_;
diff --git a/yt/yt/client/table_client/blob_reader.cpp b/yt/yt/client/table_client/blob_reader.cpp
index e354c9008bc..fb4fc93a178 100644
--- a/yt/yt/client/table_client/blob_reader.cpp
+++ b/yt/yt/client/table_client/blob_reader.cpp
@@ -15,8 +15,8 @@ using namespace NConcurrency;
////////////////////////////////////////////////////////////////////////////////
-const TString TBlobTableSchema::PartIndexColumn = "part_index";
-const TString TBlobTableSchema::DataColumn = "data";
+const std::string TBlobTableSchema::PartIndexColumn = "part_index";
+const std::string TBlobTableSchema::DataColumn = "data";
TTableSchemaPtr TBlobTableSchema::ToTableSchema() const
{
@@ -46,8 +46,8 @@ class TBlobTableReader
public:
TBlobTableReader(
ITableReaderPtr reader,
- const std::optional<TString>& partIndexColumnName,
- const std::optional<TString>& dataColumnName,
+ const std::optional<std::string>& partIndexColumnName,
+ const std::optional<std::string>& dataColumnName,
i64 startPartIndex,
const std::optional<i64>& offset,
const std::optional<i64>& partSize)
@@ -87,8 +87,8 @@ public:
private:
const ITableReaderPtr Reader_;
- const TString PartIndexColumnName_;
- const TString DataColumnName_;
+ const std::string PartIndexColumnName_;
+ const std::string DataColumnName_;
i64 Offset_;
std::optional<i64> PartSize_;
@@ -122,7 +122,7 @@ private:
TUnversionedValue GetAndValidateValue(
TUnversionedRow row,
- const TString& name,
+ const std::string& name,
EColumnType columnType,
EValueType expectedType)
{
@@ -197,8 +197,8 @@ private:
IAsyncZeroCopyInputStreamPtr CreateBlobTableReader(
ITableReaderPtr reader,
- const std::optional<TString>& partIndexColumnName,
- const std::optional<TString>& dataColumnName,
+ const std::optional<std::string>& partIndexColumnName,
+ const std::optional<std::string>& dataColumnName,
i64 startPartIndex,
const std::optional<i64>& offset,
const std::optional<i64>& partSize)
diff --git a/yt/yt/client/table_client/blob_reader.h b/yt/yt/client/table_client/blob_reader.h
index 71f8810341f..0bfe4579a96 100644
--- a/yt/yt/client/table_client/blob_reader.h
+++ b/yt/yt/client/table_client/blob_reader.h
@@ -11,8 +11,8 @@ namespace NYT::NTableClient {
struct TBlobTableSchema
{
// Names of special blob columns.
- static const TString PartIndexColumn;
- static const TString DataColumn;
+ static const std::string PartIndexColumn;
+ static const std::string DataColumn;
// Do not specify anything except name and value
// type in all column schemas.
@@ -25,8 +25,8 @@ struct TBlobTableSchema
NConcurrency::IAsyncZeroCopyInputStreamPtr CreateBlobTableReader(
NApi::ITableReaderPtr reader,
- const std::optional<TString>& partIndexColumnName,
- const std::optional<TString>& dataColumnName,
+ const std::optional<std::string>& partIndexColumnName,
+ const std::optional<std::string>& dataColumnName,
i64 startPartIndex,
const std::optional<i64>& offset = std::nullopt,
const std::optional<i64>& partSize = std::nullopt);
diff --git a/yt/yt/client/table_client/column_sort_schema.cpp b/yt/yt/client/table_client/column_sort_schema.cpp
index 964f7549a42..e574bd6cb2d 100644
--- a/yt/yt/client/table_client/column_sort_schema.cpp
+++ b/yt/yt/client/table_client/column_sort_schema.cpp
@@ -62,7 +62,7 @@ void ValidateSortColumns(const std::vector<TColumnSortSchema>& columns)
{
ValidateKeyColumnCount(columns.size());
- THashSet<TString> names;
+ THashSet<std::string> names;
for (const auto& column : columns) {
if (!names.insert(column.Name).second) {
THROW_ERROR_EXCEPTION("Duplicate sort column name %Qv",
@@ -77,9 +77,11 @@ void ToProto(
NProto::TSortColumnsExt* protoSortColumns,
const TSortColumns& sortColumns)
{
+ using NYT::ToProto;
+
for (const auto& sortColumn : sortColumns) {
- protoSortColumns->add_names(sortColumn.Name);
- protoSortColumns->add_sort_orders(static_cast<int>(sortColumn.SortOrder));
+ protoSortColumns->add_names(ToProto(sortColumn.Name));
+ protoSortColumns->add_sort_orders(ToProto<int>(sortColumn.SortOrder));
}
}
diff --git a/yt/yt/client/table_client/column_sort_schema.h b/yt/yt/client/table_client/column_sort_schema.h
index 70a8b625967..21579e98df6 100644
--- a/yt/yt/client/table_client/column_sort_schema.h
+++ b/yt/yt/client/table_client/column_sort_schema.h
@@ -9,7 +9,7 @@ namespace NYT::NTableClient {
struct TColumnSortSchema
{
- TString Name;
+ std::string Name;
ESortOrder SortOrder;
bool operator==(const TColumnSortSchema& other) const = default;
diff --git a/yt/yt/client/table_client/columnar_statistics.cpp b/yt/yt/client/table_client/columnar_statistics.cpp
index 85a223a8a45..c53acdfbf56 100644
--- a/yt/yt/client/table_client/columnar_statistics.cpp
+++ b/yt/yt/client/table_client/columnar_statistics.cpp
@@ -265,7 +265,7 @@ TLightweightColumnarStatistics TColumnarStatistics::MakeLightweightStatistics()
};
}
-TNamedColumnarStatistics TColumnarStatistics::MakeNamedStatistics(const std::vector<TString>& names) const
+TNamedColumnarStatistics TColumnarStatistics::MakeNamedStatistics(const std::vector<std::string>& names) const
{
TNamedColumnarStatistics result;
result.TimestampTotalWeight = TimestampTotalWeight;
diff --git a/yt/yt/client/table_client/columnar_statistics.h b/yt/yt/client/table_client/columnar_statistics.h
index 82dbec47c0f..0ead116aff7 100644
--- a/yt/yt/client/table_client/columnar_statistics.h
+++ b/yt/yt/client/table_client/columnar_statistics.h
@@ -21,7 +21,7 @@ struct TLightweightColumnarStatistics
struct TNamedColumnarStatistics
{
//! Per-column total data weight for chunks whose meta contains columnar statistics.
- THashMap<TString, i64> ColumnDataWeights;
+ THashMap<std::string, i64> ColumnDataWeights;
//! Total weight of all write and delete timestamps.
std::optional<i64> TimestampTotalWeight;
//! Total data weight of legacy chunks whose meta misses columnar statistics.
@@ -97,7 +97,7 @@ struct TColumnarStatistics
TLightweightColumnarStatistics MakeLightweightStatistics() const;
- TNamedColumnarStatistics MakeNamedStatistics(const std::vector<TString>& names) const;
+ TNamedColumnarStatistics MakeNamedStatistics(const std::vector<std::string>& names) const;
//! Checks if there are minimum, maximum, and non-null value statistics.
bool HasValueStatistics() const;
diff --git a/yt/yt/client/table_client/logical_type.cpp b/yt/yt/client/table_client/logical_type.cpp
index fda90c21ecb..679540a9995 100644
--- a/yt/yt/client/table_client/logical_type.cpp
+++ b/yt/yt/client/table_client/logical_type.cpp
@@ -467,19 +467,19 @@ TComplexTypeFieldDescriptor::TComplexTypeFieldDescriptor(const NYT::NTableClient
: TComplexTypeFieldDescriptor(column.Name(), column.LogicalType())
{ }
-TComplexTypeFieldDescriptor::TComplexTypeFieldDescriptor(TString columnName, TLogicalTypePtr type)
- : Descriptor_(std::move(columnName))
+TComplexTypeFieldDescriptor::TComplexTypeFieldDescriptor(const std::string& columnName, TLogicalTypePtr type)
+ : Description_(columnName)
, Type_(std::move(type))
{ }
TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::OptionalElement() const
{
- return TComplexTypeFieldDescriptor(Descriptor_ + ".<optional-element>", Type_->AsOptionalTypeRef().GetElement());
+ return TComplexTypeFieldDescriptor(Description_ + ".<optional-element>", Type_->AsOptionalTypeRef().GetElement());
}
TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::ListElement() const
{
- return TComplexTypeFieldDescriptor(Descriptor_ + ".<list-element>", Type_->AsListTypeRef().GetElement());
+ return TComplexTypeFieldDescriptor(Description_ + ".<list-element>", Type_->AsListTypeRef().GetElement());
}
TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::Field(size_t i) const
@@ -499,7 +499,7 @@ TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::StructField(size_t i) c
const auto& fields = Type_->AsStructTypeRef().GetFields();
YT_VERIFY(i < fields.size());
const auto& field = fields[i];
- return TComplexTypeFieldDescriptor(Descriptor_ + "." + field.Name, field.Type);
+ return TComplexTypeFieldDescriptor(Description_ + "." + field.Name, field.Type);
}
TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::Element(size_t i) const
@@ -518,14 +518,14 @@ TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::TupleElement(size_t i)
{
const auto& elements = Type_->AsTupleTypeRef().GetElements();
YT_VERIFY(i < elements.size());
- return TComplexTypeFieldDescriptor(Descriptor_ + Format(".<tuple-element-%v>", i), elements[i]);
+ return TComplexTypeFieldDescriptor(Description_ + Format(".<tuple-element-%v>", i), elements[i]);
}
TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::VariantTupleElement(size_t i) const
{
const auto& elements = Type_->AsVariantTupleTypeRef().GetElements();
YT_VERIFY(i < elements.size());
- return TComplexTypeFieldDescriptor(Descriptor_ + Format(".<variant-element-%v>", i), elements[i]);
+ return TComplexTypeFieldDescriptor(Description_ + Format(".<variant-element-%v>", i), elements[i]);
}
TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::VariantStructField(size_t i) const
@@ -533,32 +533,32 @@ TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::VariantStructField(size
const auto& fields = Type_->AsVariantStructTypeRef().GetFields();
YT_VERIFY(i < fields.size());
const auto& field = fields[i];
- return TComplexTypeFieldDescriptor(Descriptor_ + "." + field.Name, field.Type);
+ return TComplexTypeFieldDescriptor(Description_ + "." + field.Name, field.Type);
}
TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::DictKey() const
{
- return TComplexTypeFieldDescriptor(Descriptor_ + ".<key>", Type_->AsDictTypeRef().GetKey());
+ return TComplexTypeFieldDescriptor(Description_ + ".<key>", Type_->AsDictTypeRef().GetKey());
}
TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::DictValue() const
{
- return TComplexTypeFieldDescriptor(Descriptor_ + ".<value>", Type_->AsDictTypeRef().GetValue());
+ return TComplexTypeFieldDescriptor(Description_ + ".<value>", Type_->AsDictTypeRef().GetValue());
}
TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::TaggedElement() const
{
- return TComplexTypeFieldDescriptor(Descriptor_ + ".<tagged-element>", Type_->AsTaggedTypeRef().GetElement());
+ return TComplexTypeFieldDescriptor(Description_ + ".<tagged-element>", Type_->AsTaggedTypeRef().GetElement());
}
TComplexTypeFieldDescriptor TComplexTypeFieldDescriptor::Detag() const
{
- return TComplexTypeFieldDescriptor(Descriptor_, DetagLogicalType(Type_));
+ return TComplexTypeFieldDescriptor(Description_, DetagLogicalType(Type_));
}
-const TString& TComplexTypeFieldDescriptor::GetDescription() const
+const std::string& TComplexTypeFieldDescriptor::GetDescription() const
{
- return Descriptor_;
+ return Description_;
}
const TLogicalTypePtr& TComplexTypeFieldDescriptor::GetType() const
@@ -1053,6 +1053,8 @@ void ValidateLogicalType(const TComplexTypeFieldDescriptor& rootDescriptor, std:
void ToProto(NProto::TLogicalType* protoLogicalType, const TLogicalTypePtr& logicalType)
{
+ using NYT::ToProto;
+
switch (logicalType->GetMetatype()) {
case ELogicalMetatype::Simple:
protoLogicalType->set_simple(ToProto(logicalType->AsSimpleTypeRef().GetElement()));
@@ -1071,7 +1073,7 @@ void ToProto(NProto::TLogicalType* protoLogicalType, const TLogicalTypePtr& logi
auto protoStruct = protoLogicalType->mutable_struct_();
for (const auto& structField : logicalType->AsStructTypeRef().GetFields()) {
auto protoStructField = protoStruct->add_fields();
- protoStructField->set_name(structField.Name);
+ protoStructField->set_name(ToProto(structField.Name));
ToProto(protoStructField->mutable_type(), structField.Type);
}
return;
@@ -1088,7 +1090,7 @@ void ToProto(NProto::TLogicalType* protoLogicalType, const TLogicalTypePtr& logi
auto protoVariantStruct = protoLogicalType->mutable_variant_struct();
for (const auto& field : logicalType->AsVariantStructTypeRef().GetFields()) {
auto protoField = protoVariantStruct->add_fields();
- protoField->set_name(field.Name);
+ protoField->set_name(ToProto(field.Name));
ToProto(protoField->mutable_type(), field.Type);
}
return;
diff --git a/yt/yt/client/table_client/logical_type.h b/yt/yt/client/table_client/logical_type.h
index bd482df9849..1a0b2dd0b5a 100644
--- a/yt/yt/client/table_client/logical_type.h
+++ b/yt/yt/client/table_client/logical_type.h
@@ -260,7 +260,7 @@ class TComplexTypeFieldDescriptor
public:
explicit TComplexTypeFieldDescriptor(TLogicalTypePtr type);
explicit TComplexTypeFieldDescriptor(const TColumnSchema& column);
- TComplexTypeFieldDescriptor(TString columnName, TLogicalTypePtr type);
+ TComplexTypeFieldDescriptor(const std::string& columnName, TLogicalTypePtr type);
TComplexTypeFieldDescriptor OptionalElement() const;
TComplexTypeFieldDescriptor ListElement() const;
@@ -276,11 +276,11 @@ public:
TComplexTypeFieldDescriptor Detag() const;
- const TString& GetDescription() const;
+ const std::string& GetDescription() const;
const TLogicalTypePtr& GetType() const;
private:
- TString Descriptor_;
+ std::string Description_;
TLogicalTypePtr Type_;
};
@@ -288,7 +288,7 @@ private:
struct TStructField
{
- TString Name;
+ std::string Name;
TLogicalTypePtr Type;
};
@@ -299,8 +299,6 @@ class TStructLogicalTypeBase
: public TLogicalType
{
public:
-
-public:
TStructLogicalTypeBase(ELogicalMetatype metatype, std::vector<TStructField> fields);
Y_FORCE_INLINE const std::vector<TStructField>& GetFields() const;
diff --git a/yt/yt/client/table_client/name_table.cpp b/yt/yt/client/table_client/name_table.cpp
index 2c22700fc71..6747c30539b 100644
--- a/yt/yt/client/table_client/name_table.cpp
+++ b/yt/yt/client/table_client/name_table.cpp
@@ -167,10 +167,10 @@ int TNameTable::DoRegisterNameOrThrow(TStringBuf name)
return DoRegisterName(name);
}
-std::vector<TString> TNameTable::GetNames() const
+std::vector<std::string> TNameTable::GetNames() const
{
auto guard = Guard(SpinLock_);
- std::vector<TString> result(IdToName_.begin(), IdToName_.end());
+ std::vector<std::string> result(IdToName_.begin(), IdToName_.end());
return result;
}
@@ -255,7 +255,7 @@ std::optional<int> TNameTableWriter::FindId(TStringBuf name) const
auto optionalId = NameTable_->FindId(name);
if (optionalId) {
- Names_.push_back(TString(name));
+ Names_.push_back(std::string(name));
YT_VERIFY(NameToId_.emplace(Names_.back(), *optionalId).second);
}
return optionalId;
@@ -278,7 +278,7 @@ int TNameTableWriter::GetIdOrRegisterName(TStringBuf name)
}
auto id = NameTable_->GetIdOrRegisterName(name);
- Names_.push_back(TString(name));
+ Names_.push_back(std::string(name));
YT_VERIFY(NameToId_.emplace(Names_.back(), id).second);
return id;
}
@@ -296,7 +296,7 @@ void FromProto(TNameTablePtr* nameTable, const NProto::TNameTableExt& protoNameT
{
using NYT::FromProto;
- *nameTable = TNameTable::FromKeyColumns(FromProto<std::vector<TString>>(protoNameTable.names()));
+ *nameTable = TNameTable::FromKeyColumns(FromProto<std::vector<std::string>>(protoNameTable.names()));
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/yt/yt/client/table_client/name_table.h b/yt/yt/client/table_client/name_table.h
index f0e94f36174..4d5b7ae4043 100644
--- a/yt/yt/client/table_client/name_table.h
+++ b/yt/yt/client/table_client/name_table.h
@@ -37,7 +37,7 @@ public:
TStringBuf GetName(int id) const;
TStringBuf GetNameOrThrow(int id) const;
- std::vector<TString> GetNames() const;
+ std::vector<std::string> GetNames() const;
private:
YT_DECLARE_SPIN_LOCK(NThreading::TSpinLock, SpinLock_);
@@ -46,7 +46,7 @@ private:
// String values are owned by IdToName_.
// NB: Names may be SSO-strings, using a deque to avoid string view invalidation.
- std::deque<TString> IdToName_;
+ std::deque<std::string> IdToName_;
THashMap<TStringBuf, int> NameToId_;
i64 ByteSize_ = 0;
@@ -97,7 +97,7 @@ private:
// String values are owned by Names_
// NB: Names may be SSO-strings, using a deque to avoid string view invalidation
- mutable std::deque<TString> Names_;
+ mutable std::deque<std::string> Names_;
mutable THashMap<TStringBuf, int> NameToId_;
};
diff --git a/yt/yt/client/table_client/public.cpp b/yt/yt/client/table_client/public.cpp
index 4fc79ad447d..1008d882c41 100644
--- a/yt/yt/client/table_client/public.cpp
+++ b/yt/yt/client/table_client/public.cpp
@@ -4,19 +4,20 @@ namespace NYT::NTableClient {
////////////////////////////////////////////////////////////////////////////////
-const TString PrimaryLockName("<primary>");
+const std::string PrimaryLockName("<primary>");
-const TString SystemColumnNamePrefix("$");
-const TString TableIndexColumnName = SystemColumnNamePrefix + "table_index";
-const TString RowIndexColumnName = SystemColumnNamePrefix + "row_index";
-const TString RangeIndexColumnName = SystemColumnNamePrefix + "range_index";
-const TString TabletIndexColumnName = SystemColumnNamePrefix + "tablet_index";
-const TString TimestampColumnName = SystemColumnNamePrefix + "timestamp";
-const TString TtlColumnName = SystemColumnNamePrefix + "ttl";
-const TString TimestampColumnPrefix = SystemColumnNamePrefix + "timestamp:";
-const TString CumulativeDataWeightColumnName = SystemColumnNamePrefix + "cumulative_data_weight";
-const TString EmptyValueColumnName = SystemColumnNamePrefix + "empty";
-const TString SequenceNumberColumnName = SystemColumnNamePrefix + "sequence_number";
+const std::string SystemColumnNamePrefix("$");
+const std::string NonexistentColumnName = SystemColumnNamePrefix + "__YT_NONEXISTENT_COLUMN_NAME__";
+const std::string TableIndexColumnName = SystemColumnNamePrefix + "table_index";
+const std::string RowIndexColumnName = SystemColumnNamePrefix + "row_index";
+const std::string RangeIndexColumnName = SystemColumnNamePrefix + "range_index";
+const std::string TabletIndexColumnName = SystemColumnNamePrefix + "tablet_index";
+const std::string TimestampColumnName = SystemColumnNamePrefix + "timestamp";
+const std::string TtlColumnName = SystemColumnNamePrefix + "ttl";
+const std::string TimestampColumnPrefix = SystemColumnNamePrefix + "timestamp:";
+const std::string CumulativeDataWeightColumnName = SystemColumnNamePrefix + "cumulative_data_weight";
+const std::string EmptyValueColumnName = SystemColumnNamePrefix + "empty";
+const std::string SequenceNumberColumnName = SystemColumnNamePrefix + "sequence_number";
////////////////////////////////////////////////////////////////////////////////
diff --git a/yt/yt/client/table_client/public.h b/yt/yt/client/table_client/public.h
index e52eaecf481..1c795adb329 100644
--- a/yt/yt/client/table_client/public.h
+++ b/yt/yt/client/table_client/public.h
@@ -77,7 +77,7 @@ using NTransactionClient::AsyncLastCommittedTimestamp;
using NTransactionClient::AllCommittedTimestamp;
using NTransactionClient::NotPreparedTimestamp;
-using TKeyColumns = std::vector<TString>;
+using TKeyColumns = std::vector<std::string>;
////////////////////////////////////////////////////////////////////////////////
@@ -119,20 +119,20 @@ constexpr int MaxColumnId = 32 * 1024;
constexpr int MaxSchemaTotalTypeComplexity = MaxColumnId;
constexpr int MaxSchemaDepth = 32;
+extern const std::string PrimaryLockName;
-extern const TString PrimaryLockName;
-
-extern const TString SystemColumnNamePrefix;
-extern const TString TableIndexColumnName;
-extern const TString RowIndexColumnName;
-extern const TString RangeIndexColumnName;
-extern const TString TabletIndexColumnName;
-extern const TString TimestampColumnName;
-extern const TString TtlColumnName;
-extern const TString TimestampColumnPrefix;
-extern const TString CumulativeDataWeightColumnName;
-extern const TString EmptyValueColumnName;
-extern const TString SequenceNumberColumnName;
+extern const std::string SystemColumnNamePrefix;
+extern const std::string NonexistentColumnName;
+extern const std::string TableIndexColumnName;
+extern const std::string RowIndexColumnName;
+extern const std::string RangeIndexColumnName;
+extern const std::string TabletIndexColumnName;
+extern const std::string TimestampColumnName;
+extern const std::string TtlColumnName;
+extern const std::string TimestampColumnPrefix;
+extern const std::string CumulativeDataWeightColumnName;
+extern const std::string EmptyValueColumnName;
+extern const std::string SequenceNumberColumnName;
constexpr int TypicalHunkColumnCount = 8;
@@ -308,7 +308,7 @@ class TKeyComparer;
struct TColumnRenameDescriptor;
using TColumnRenameDescriptors = std::vector<TColumnRenameDescriptor>;
-YT_DEFINE_STRONG_TYPEDEF(TColumnStableName, TString);
+YT_DEFINE_STRONG_TYPEDEF(TColumnStableName, std::string);
class TColumnSchema;
diff --git a/yt/yt/client/table_client/schema.cpp b/yt/yt/client/table_client/schema.cpp
index 3d5a8b92cea..1acb033cde4 100644
--- a/yt/yt/client/table_client/schema.cpp
+++ b/yt/yt/client/table_client/schema.cpp
@@ -148,33 +148,33 @@ void FromProto(TLockMask* lockMask, const NTabletClient::NProto::TLockMask& prot
TColumnSchema::TColumnSchema()
: TColumnSchema(
- TString(),
+ std::string(),
NullLogicalType(),
std::nullopt)
{ }
TColumnSchema::TColumnSchema(
- TString name,
+ const std::string& name,
EValueType type,
std::optional<ESortOrder> sortOrder)
: TColumnSchema(
- std::move(name),
+ name,
MakeLogicalType(GetLogicalType(type), /*required*/ false),
sortOrder)
{ }
TColumnSchema::TColumnSchema(
- TString name,
+ const std::string& name,
ESimpleLogicalValueType type,
std::optional<ESortOrder> sortOrder)
: TColumnSchema(
- std::move(name),
+ name,
MakeLogicalType(type, /*required*/ false),
sortOrder)
{ }
TColumnSchema::TColumnSchema(
- TString name,
+ const std::string& name,
TLogicalTypePtr type,
std::optional<ESortOrder> sortOrder)
: StableName_(name)
@@ -184,13 +184,13 @@ TColumnSchema::TColumnSchema(
SetLogicalType(std::move(type));
}
-TColumnSchema& TColumnSchema::SetStableName(TColumnStableName value)
+TColumnSchema& TColumnSchema::SetStableName(const TColumnStableName& value)
{
- StableName_ = std::move(value);
+ StableName_ = value;
return *this;
}
-TColumnSchema& TColumnSchema::SetName(TString value)
+TColumnSchema& TColumnSchema::SetName(const std::string& value)
{
Name_ = value;
return *this;
@@ -202,21 +202,21 @@ TColumnSchema& TColumnSchema::SetSortOrder(std::optional<ESortOrder> value)
return *this;
}
-TColumnSchema& TColumnSchema::SetLock(std::optional<TString> value)
+TColumnSchema& TColumnSchema::SetLock(const std::optional<std::string>& value)
{
- Lock_ = std::move(value);
+ Lock_ = value;
return *this;
}
-TColumnSchema& TColumnSchema::SetGroup(std::optional<TString> value)
+TColumnSchema& TColumnSchema::SetGroup(const std::optional<std::string>& value)
{
- Group_ = std::move(value);
+ Group_ = value;
return *this;
}
-TColumnSchema& TColumnSchema::SetExpression(std::optional<TString> value)
+TColumnSchema& TColumnSchema::SetExpression(const std::optional<TString>& value)
{
- Expression_ = std::move(value);
+ Expression_ = value;
return *this;
}
@@ -226,9 +226,9 @@ TColumnSchema& TColumnSchema::SetMaterialized(std::optional<bool> value)
return *this;
}
-TColumnSchema& TColumnSchema::SetAggregate(std::optional<TString> value)
+TColumnSchema& TColumnSchema::SetAggregate(const std::optional<std::string>& value)
{
- Aggregate_ = std::move(value);
+ Aggregate_ = value;
return *this;
}
@@ -300,7 +300,7 @@ bool TColumnSchema::IsRenamed() const
return Name() != StableName().Underlying();
}
-TString TColumnSchema::GetDiagnosticNameString() const
+std::string TColumnSchema::GetDiagnosticNameString() const
{
if (IsRenamed()) {
return Format("%Qv (stable name %Qv)", Name(), StableName().Underlying());
@@ -389,9 +389,9 @@ void FormatValue(TStringBuilderBase* builder, const TDeletedColumn& schema, TStr
void ToProto(NProto::TColumnSchema* protoSchema, const TColumnSchema& schema)
{
- protoSchema->set_name(schema.Name());
+ protoSchema->set_name(ToProto(schema.Name()));
if (schema.IsRenamed()) {
- protoSchema->set_stable_name(schema.StableName().Underlying());
+ protoSchema->set_stable_name(ToProto(schema.StableName()));
}
protoSchema->set_type(ToProto(GetPhysicalType(schema.CastToV1Type())));
@@ -408,7 +408,7 @@ void ToProto(NProto::TColumnSchema* protoSchema, const TColumnSchema& schema)
}
ToProto(protoSchema->mutable_logical_type(), schema.LogicalType());
if (schema.Lock()) {
- protoSchema->set_lock(*schema.Lock());
+ protoSchema->set_lock(ToProto(*schema.Lock()));
} else {
protoSchema->clear_lock();
}
@@ -423,7 +423,7 @@ void ToProto(NProto::TColumnSchema* protoSchema, const TColumnSchema& schema)
protoSchema->clear_materialized();
}
if (schema.Aggregate()) {
- protoSchema->set_aggregate(*schema.Aggregate());
+ protoSchema->set_aggregate(ToProto(*schema.Aggregate()));
} else {
protoSchema->clear_aggregate();
}
@@ -433,7 +433,7 @@ void ToProto(NProto::TColumnSchema* protoSchema, const TColumnSchema& schema)
protoSchema->clear_sort_order();
}
if (schema.Group()) {
- protoSchema->set_group(*schema.Group());
+ protoSchema->set_group(ToProto(*schema.Group()));
} else {
protoSchema->clear_group();
}
@@ -446,7 +446,7 @@ void ToProto(NProto::TColumnSchema* protoSchema, const TColumnSchema& schema)
void ToProto(NProto::TDeletedColumn* protoSchema, const TDeletedColumn& schema)
{
- protoSchema->set_stable_name(schema.StableName().Underlying());
+ protoSchema->set_stable_name(ToProto(schema.StableName()));
}
void FromProto(TColumnSchema* schema, const NProto::TColumnSchema& protoSchema)
@@ -500,7 +500,7 @@ bool TTableSchema::TNameMapping::IsDeleted(const TColumnStableName& stableName)
return Schema_.FindDeletedColumn(stableName) != nullptr;
}
-TString TTableSchema::TNameMapping::StableNameToName(const TColumnStableName& stableName) const
+std::string TTableSchema::TNameMapping::StableNameToName(const TColumnStableName& stableName) const
{
auto* column = Schema_.FindColumnByStableName(stableName);
if (!column) {
@@ -523,7 +523,7 @@ TColumnStableName TTableSchema::TNameMapping::NameToStableName(TStringBuf name)
THROW_ERROR_EXCEPTION("No column with name %Qv in strict schema", name);
}
}
- return TColumnStableName(TString(name));
+ return TColumnStableName(std::string(name));
}
return column->StableName();
}
@@ -705,7 +705,7 @@ TTableSchemaPtr TTableSchema::Filter(const TColumnFilter& columnFilter, bool dis
DeletedColumns());
}
-TTableSchemaPtr TTableSchema::Filter(const THashSet<TString>& columnNames, bool discardSortOrder) const
+TTableSchemaPtr TTableSchema::Filter(const THashSet<std::string>& columnNames, bool discardSortOrder) const
{
TColumnFilter::TIndexes indexes;
for (const auto& column : Columns()) {
@@ -716,13 +716,13 @@ TTableSchemaPtr TTableSchema::Filter(const THashSet<TString>& columnNames, bool
return Filter(TColumnFilter(std::move(indexes)), discardSortOrder);
}
-TTableSchemaPtr TTableSchema::Filter(const std::optional<std::vector<TString>>& columnNames, bool discardSortOrder) const
+TTableSchemaPtr TTableSchema::Filter(const std::optional<std::vector<std::string>>& columnNames, bool discardSortOrder) const
{
if (!columnNames) {
return Filter(TColumnFilter(), discardSortOrder);
}
- return Filter(THashSet<TString>(columnNames->begin(), columnNames->end()), discardSortOrder);
+ return Filter(THashSet<std::string>(columnNames->begin(), columnNames->end()), discardSortOrder);
}
bool TTableSchema::HasMaterializedComputedColumns() const
@@ -835,12 +835,12 @@ int TTableSchema::GetColumnCount() const
return ssize(Columns());
}
-std::vector<TString> TTableSchema::GetColumnNames() const
+std::vector<std::string> TTableSchema::GetColumnNames() const
{
if (!ColumnInfo_) {
- return std::vector<TString>();
+ return std::vector<std::string>();
}
- std::vector<TString> result;
+ std::vector<std::string> result;
const auto& info = *ColumnInfo_;
result.reserve(info.Columns.size());
for (const auto& column : info.Columns) {
@@ -870,8 +870,8 @@ const THunkColumnIds& TTableSchema::GetHunkColumnIds() const
std::vector<TColumnStableName> MapNamesToStableNames(
const TTableSchema& schema,
- std::vector<TString> names,
- const std::optional<TStringBuf>& missingColumnReplacement)
+ const std::vector<std::string>& names,
+ std::optional<TStringBuf> missingColumnReplacement)
{
std::vector<TColumnStableName> stableNames;
stableNames.reserve(names.size());
@@ -882,7 +882,7 @@ std::vector<TColumnStableName> MapNamesToStableNames(
} else if (!schema.GetStrict()) {
stableNames.push_back(TColumnStableName(name));
} else if (missingColumnReplacement) {
- stableNames.push_back(TColumnStableName(TString(*missingColumnReplacement)));
+ stableNames.push_back(TColumnStableName(std::string(*missingColumnReplacement)));
} else {
THROW_ERROR_EXCEPTION("Column %Qv is missing in strict schema",
name);
@@ -914,7 +914,7 @@ TSortColumns TTableSchema::GetSortColumns(const std::optional<TNameMapping>& nam
if (column.SortOrder()) {
const auto& name = actualNameMapping.StableNameToName(column.StableName());
sortColumns.push_back(TColumnSortSchema{
- .Name = TString(name),
+ .Name = std::string(name),
.SortOrder = *column.SortOrder(),
});
}
@@ -1483,14 +1483,14 @@ void FormatValue(TStringBuilderBase* builder, const TTableSchemaPtr& schema, TSt
}
}
-TString SerializeToWireProto(const TTableSchemaPtr& schema)
+std::string SerializeToWireProto(const TTableSchemaPtr& schema)
{
NTableClient::NProto::TTableSchemaExt protoSchema;
ToProto(&protoSchema, schema);
return protoSchema.SerializeAsString();
}
-void DeserializeFromWireProto(TTableSchemaPtr* schema, const TString& serializedProto)
+void DeserializeFromWireProto(TTableSchemaPtr* schema, const std::string& serializedProto)
{
NTableClient::NProto::TTableSchemaExt protoSchema;
if (!protoSchema.ParseFromString(serializedProto)) {
@@ -1626,7 +1626,7 @@ bool IsEqualIgnoringRequiredness(const TTableSchema& lhs, const TTableSchema& rh
// Parses description of the following form nested_key.name or nested_value.name or nested_value.name.sum
std::optional<TNestedColumn> TryParseNestedAggregate(TStringBuf description)
{
- if (!description.StartsWith("nested")) {
+ if (!description.starts_with("nested")) {
return std::nullopt;
}
@@ -1658,7 +1658,7 @@ std::optional<TNestedColumn> TryParseNestedAggregate(TStringBuf description)
};
auto parseToken = [&] (TStringBuf token) {
- if (TStringBuf(ptr, ptrEnd).StartsWith(token)) {
+ if (TStringBuf(ptr, ptrEnd).starts_with(token)) {
ptr += token.size();
return true;
}
@@ -1749,7 +1749,7 @@ void ValidateKeyColumns(const TKeyColumns& keyColumns)
{
ValidateKeyColumnCount(keyColumns.size());
- THashSet<TString> names;
+ THashSet<std::string> names;
for (const auto& name : keyColumns) {
if (!names.insert(name).second) {
THROW_ERROR_EXCEPTION("Duplicate key column name %Qv",
@@ -1776,12 +1776,12 @@ void ValidateSystemColumnSchema(
bool allowUnversionedUpdateColumns,
bool allowTimestampColumns)
{
- static const auto allowedSortedTablesSystemColumns = THashMap<TString, ESimpleLogicalValueType>{
+ static const auto allowedSortedTablesSystemColumns = THashMap<std::string, ESimpleLogicalValueType>{
{EmptyValueColumnName, ESimpleLogicalValueType::Int64},
{TtlColumnName, ESimpleLogicalValueType::Uint64},
};
- static const auto allowedOrderedTablesSystemColumns = THashMap<TString, ESimpleLogicalValueType>{
+ static const auto allowedOrderedTablesSystemColumns = THashMap<std::string, ESimpleLogicalValueType>{
{TimestampColumnName, ESimpleLogicalValueType::Uint64},
{CumulativeDataWeightColumnName, ESimpleLogicalValueType::Int64},
};
@@ -1819,17 +1819,17 @@ void ValidateSystemColumnSchema(
if (name == TUnversionedUpdateSchema::ChangeTypeColumnName) {
validateType(ESimpleLogicalValueType::Uint64);
return;
- } else if (name.StartsWith(TUnversionedUpdateSchema::FlagsColumnNamePrefix)) {
+ } else if (name.starts_with(TUnversionedUpdateSchema::FlagsColumnNamePrefix)) {
validateType(ESimpleLogicalValueType::Uint64);
return;
- } else if (name.StartsWith(TUnversionedUpdateSchema::ValueColumnNamePrefix)) {
+ } else if (name.starts_with(TUnversionedUpdateSchema::ValueColumnNamePrefix)) {
// Value can have any type.
return;
}
}
if (allowTimestampColumns) {
- if (name.StartsWith(TimestampColumnPrefix)) {
+ if (name.starts_with(TimestampColumnPrefix)) {
validateType(ESimpleLogicalValueType::Uint64);
return;
}
@@ -1840,7 +1840,7 @@ void ValidateSystemColumnSchema(
name);
}
-void ValidateColumnName(const TString& name)
+void ValidateColumnName(const std::string& name)
{
if (name.empty()) {
THROW_ERROR_EXCEPTION("Column name cannot be empty");
@@ -1861,7 +1861,7 @@ void ValidateColumnSchema(
bool allowUnversionedUpdateColumns,
bool allowTimestampColumns)
{
- static const auto allowedAggregates = THashSet<TString>{
+ static const auto allowedAggregates = THashSet<std::string, THash<TStringBuf>, TEqualTo<>>{
"sum",
"min",
"max",
@@ -1872,7 +1872,7 @@ void ValidateColumnSchema(
"dict_sum",
};
- static const auto allowedNestedAggregates = THashSet<TString>{
+ static const auto allowedNestedAggregates = THashSet<std::string, THash<TStringBuf>, TEqualTo<>>{
"sum",
"max"
};
@@ -1884,7 +1884,7 @@ void ValidateColumnSchema(
const auto& name = columnSchema.Name();
ValidateColumnName(name);
- if (stableName.Underlying().StartsWith(SystemColumnNamePrefix) || name.StartsWith(SystemColumnNamePrefix)) {
+ if (stableName.Underlying().starts_with(SystemColumnNamePrefix) || name.starts_with(SystemColumnNamePrefix)) {
ValidateSystemColumnSchema(
columnSchema,
isTableSorted,
@@ -2093,7 +2093,7 @@ void ValidatePivotKey(
//! Validates that number of locks doesn't exceed #MaxColumnLockCount.
void ValidateLocks(const TTableSchema& schema)
{
- THashSet<TString> lockNames;
+ THashSet<std::string> lockNames;
YT_VERIFY(lockNames.insert(PrimaryLockName).second);
for (const auto& column : schema.Columns()) {
if (column.Lock()) {
@@ -2323,11 +2323,11 @@ void ValidateNoRenamedColumns(const TTableSchema& schema)
////////////////////////////////////////////////////////////////////////////////
-THashMap<TString, int> GetLocksMapping(
+THashMap<std::string, int> GetLocksMapping(
const NTableClient::TTableSchema& schema,
bool fullAtomicity,
std::vector<int>* columnIndexToLockIndex,
- std::vector<TString>* lockIndexToName)
+ std::vector<std::string>* lockIndexToName)
{
if (columnIndexToLockIndex) {
// Assign dummy lock indexes to key components.
@@ -2338,7 +2338,7 @@ THashMap<TString, int> GetLocksMapping(
lockIndexToName->push_back(PrimaryLockName);
}
- THashMap<TString, int> groupToIndex;
+ THashMap<std::string, int> groupToIndex;
if (fullAtomicity) {
// Assign lock indexes to data components.
for (int index = schema.GetKeyColumnCount(); index < std::ssize(schema.Columns()); ++index) {
@@ -2370,7 +2370,7 @@ THashMap<TString, int> GetLocksMapping(
TLockMask GetLockMask(
const NTableClient::TTableSchema& schema,
bool fullAtomicity,
- const std::vector<TString>& locks,
+ const std::vector<std::string>& locks,
ELockType lockType)
{
auto groupToIndex = GetLocksMapping(schema, fullAtomicity);
@@ -2444,7 +2444,7 @@ TCellTaggedTableSchemaPtr::TCellTaggedTableSchemaPtr(TTableSchemaPtr tableSchema
size_t THash<NYT::NTableClient::TColumnStableName>::operator()(const NYT::NTableClient::TColumnStableName& stableName) const
{
- return THash<TString>()(stableName.Underlying());
+ return THash<std::string>()(stableName.Underlying());
}
size_t THash<NYT::NTableClient::TColumnSchema>::operator()(const NYT::NTableClient::TColumnSchema& columnSchema) const
diff --git a/yt/yt/client/table_client/schema.h b/yt/yt/client/table_client/schema.h
index 4fd3c3f4861..7cbbc86048b 100644
--- a/yt/yt/client/table_client/schema.h
+++ b/yt/yt/client/table_client/schema.h
@@ -117,30 +117,30 @@ class TColumnSchema
public:
// Keep in sync with hasher below.
DEFINE_BYREF_RO_PROPERTY(TColumnStableName, StableName);
- DEFINE_BYREF_RO_PROPERTY(TString, Name);
+ DEFINE_BYREF_RO_PROPERTY(std::string, Name);
DEFINE_BYREF_RO_PROPERTY(TLogicalTypePtr, LogicalType);
DEFINE_BYREF_RO_PROPERTY(std::optional<ESortOrder>, SortOrder);
- DEFINE_BYREF_RO_PROPERTY(std::optional<TString>, Lock);
+ DEFINE_BYREF_RO_PROPERTY(std::optional<std::string>, Lock);
DEFINE_BYREF_RO_PROPERTY(std::optional<TString>, Expression);
DEFINE_BYREF_RO_PROPERTY(std::optional<bool>, Materialized);
- DEFINE_BYREF_RO_PROPERTY(std::optional<TString>, Aggregate);
- DEFINE_BYREF_RO_PROPERTY(std::optional<TString>, Group);
+ DEFINE_BYREF_RO_PROPERTY(std::optional<std::string>, Aggregate);
+ DEFINE_BYREF_RO_PROPERTY(std::optional<std::string>, Group);
DEFINE_BYREF_RO_PROPERTY(bool, Required);
DEFINE_BYREF_RO_PROPERTY(std::optional<i64>, MaxInlineHunkSize);
public:
TColumnSchema();
TColumnSchema(
- TString name,
+ const std::string& name,
EValueType type,
std::optional<ESortOrder> sortOrder = {});
TColumnSchema(
- TString name,
+ const std::string& name,
ESimpleLogicalValueType type,
std::optional<ESortOrder> sortOrder = {});
TColumnSchema(
- TString name,
+ const std::string& name,
TLogicalTypePtr type,
std::optional<ESortOrder> sortOrder = {});
@@ -150,16 +150,16 @@ public:
TColumnSchema& operator=(const TColumnSchema&) = default;
TColumnSchema& operator=(TColumnSchema&&) = default;
- TColumnSchema& SetStableName(TColumnStableName stableName);
- TColumnSchema& SetName(TString name);
+ TColumnSchema& SetStableName(const TColumnStableName& stableName);
+ TColumnSchema& SetName(const std::string& name);
TColumnSchema& SetLogicalType(TLogicalTypePtr valueType);
TColumnSchema& SetSimpleLogicalType(ESimpleLogicalValueType type);
TColumnSchema& SetSortOrder(std::optional<ESortOrder> value);
- TColumnSchema& SetLock(std::optional<TString> value);
- TColumnSchema& SetExpression(std::optional<TString> value);
+ TColumnSchema& SetLock(const std::optional<std::string>& value);
+ TColumnSchema& SetExpression(const std::optional<TString>& value);
TColumnSchema& SetMaterialized(std::optional<bool> value);
- TColumnSchema& SetAggregate(std::optional<TString> value);
- TColumnSchema& SetGroup(std::optional<TString> value);
+ TColumnSchema& SetAggregate(const std::optional<std::string>& value);
+ TColumnSchema& SetGroup(const std::optional<std::string>& value);
TColumnSchema& SetRequired(bool value);
TColumnSchema& SetMaxInlineHunkSize(std::optional<i64> value);
@@ -176,7 +176,7 @@ public:
ESimpleLogicalValueType CastToV1Type() const;
bool IsRenamed() const;
- TString GetDiagnosticNameString() const;
+ std::string GetDiagnosticNameString() const;
private:
ESimpleLogicalValueType V1Type_;
@@ -221,7 +221,7 @@ public:
explicit TNameMapping(const TTableSchema& schema);
bool IsDeleted(const TColumnStableName& stableName) const;
- TString StableNameToName(const TColumnStableName& stableName) const;
+ std::string StableNameToName(const TColumnStableName& stableName) const;
TColumnStableName NameToStableName(TStringBuf name) const;
private:
@@ -267,16 +267,16 @@ public:
const TColumnSchema* FindColumn(TStringBuf name) const;
const TColumnSchema& GetColumn(TStringBuf name) const;
const TColumnSchema& GetColumnOrThrow(TStringBuf name) const;
- std::vector<TString> GetColumnNames() const;
+ std::vector<std::string> GetColumnNames() const;
TTableSchemaPtr Filter(
const TColumnFilter& columnFilter,
bool discardSortOrder = false) const;
TTableSchemaPtr Filter(
- const THashSet<TString>& columnNames,
+ const THashSet<std::string>& columnNames,
bool discardSortOrder = false) const;
TTableSchemaPtr Filter(
- const std::optional<std::vector<TString>>& columnNames,
+ const std::optional<std::vector<std::string>>& columnNames,
bool discardSortOrder = false) const;
bool HasMaterializedComputedColumns() const;
@@ -432,9 +432,9 @@ void FormatValue(TStringBuilderBase* builder, const TTableSchema& schema, TStrin
void FormatValue(TStringBuilderBase* builder, const TTableSchemaPtr& schema, TStringBuf spec);
//! Returns serialized NTableClient.NProto.TTableSchemaExt.
-TString SerializeToWireProto(const TTableSchemaPtr& schema);
+std::string SerializeToWireProto(const TTableSchemaPtr& schema);
-void DeserializeFromWireProto(TTableSchemaPtr* schema, const TString& serializedProto);
+void DeserializeFromWireProto(TTableSchemaPtr* schema, const std::string& serializedProto);
void Serialize(const TTableSchema& schema, NYson::IYsonConsumer* consumer);
void Deserialize(TTableSchema& schema, NYTree::INodePtr node);
@@ -473,12 +473,10 @@ bool IsEqualIgnoringRequiredness(const TTableSchema& lhs, const TTableSchema& rh
////////////////////////////////////////////////////////////////////////////////
-static constexpr TStringBuf NonexistentColumnName = "$__YT_NONEXISTENT_COLUMN_NAME__";
-
std::vector<TColumnStableName> MapNamesToStableNames(
const TTableSchema& schema,
- std::vector<TString> names,
- const std::optional<TStringBuf>& missingColumnReplacement = std::nullopt);
+ const std::vector<std::string>& names,
+ std::optional<TStringBuf> missingColumnReplacement = std::nullopt);
////////////////////////////////////////////////////////////////////////////////
@@ -499,7 +497,7 @@ void ValidateKeyColumns(const TKeyColumns& keyColumns);
void ValidateDynamicTableKeyColumnCount(int count);
-void ValidateColumnName(const TString& name);
+void ValidateColumnName(const std::string& name);
void ValidateColumnSchema(
const TColumnSchema& columnSchema,
@@ -528,16 +526,16 @@ void ValidatePivotKey(
////////////////////////////////////////////////////////////////////////////////
-THashMap<TString, int> GetLocksMapping(
+THashMap<std::string, int> GetLocksMapping(
const NTableClient::TTableSchema& schema,
bool fullAtomicity,
std::vector<int>* columnIndexToLockIndex = nullptr,
- std::vector<TString>* lockIndexToName = nullptr);
+ std::vector<std::string>* lockIndexToName = nullptr);
TLockMask GetLockMask(
const NTableClient::TTableSchema& schema,
bool fullAtomicity,
- const std::vector<TString>& locks,
+ const std::vector<std::string>& locks,
ELockType lockType = ELockType::SharedWeak);
////////////////////////////////////////////////////////////////////////////////
diff --git a/yt/yt/client/table_client/validate_logical_type.cpp b/yt/yt/client/table_client/validate_logical_type.cpp
index 3e6b3d1d659..59cb8d2a0b9 100644
--- a/yt/yt/client/table_client/validate_logical_type.cpp
+++ b/yt/yt/client/table_client/validate_logical_type.cpp
@@ -448,7 +448,7 @@ private:
Cursor_.Next();
}
- TString GetDescription(const TFieldId& fieldId) const
+ std::string GetDescription(const TFieldId& fieldId) const
{
return fieldId.GetDescriptor(RootDescriptor_).GetDescription();
}
@@ -509,7 +509,7 @@ private:
{
std::vector<int> path;
const auto* current = this;
- while (current->Parent_ != nullptr) {
+ while (current->Parent_) {
path.push_back(current->SiblingIndex_);
current = current->Parent_;
}
diff --git a/yt/yt/client/tablet_client/watermark_runtime_data.h b/yt/yt/client/tablet_client/watermark_runtime_data.h
index 54c62c27bdf..08f876a3cf1 100644
--- a/yt/yt/client/tablet_client/watermark_runtime_data.h
+++ b/yt/yt/client/tablet_client/watermark_runtime_data.h
@@ -11,7 +11,7 @@ namespace NYT::NTabletClient {
struct TWatermarkRuntimeDataConfig
: public NYTree::TYsonStructLite
{
- TString ColumnName;
+ std::string ColumnName;
ui64 Watermark;
REGISTER_YSON_STRUCT_LITE(TWatermarkRuntimeDataConfig);
diff --git a/yt/yt/client/unittests/mock/client.h b/yt/yt/client/unittests/mock/client.h
index 43e8056b1ee..fc59a92b9bc 100644
--- a/yt/yt/client/unittests/mock/client.h
+++ b/yt/yt/client/unittests/mock/client.h
@@ -865,7 +865,7 @@ public:
MOCK_METHOD(TFuture<IRowBatchWriterPtr>, CreateShuffleWriter, (
const TShuffleHandlePtr& shuffleHandle,
- const TString& partitionColumn,
+ const std::string& partitionColumn,
const NTableClient::TTableWriterConfigPtr& config),
(override));
diff --git a/yt/yt/client/unittests/mock/table_reader.h b/yt/yt/client/unittests/mock/table_reader.h
index be901f48814..a827b7c8b67 100644
--- a/yt/yt/client/unittests/mock/table_reader.h
+++ b/yt/yt/client/unittests/mock/table_reader.h
@@ -24,7 +24,7 @@ public:
MOCK_METHOD(NTableClient::IUnversionedRowBatchPtr, Read, (const NTableClient::TRowBatchReadOptions& options), (override));
- MOCK_METHOD(const std::vector<TString>&, GetOmittedInaccessibleColumns, (), (const, override));
+ MOCK_METHOD(const std::vector<std::string>&, GetOmittedInaccessibleColumns, (), (const, override));
const NTableClient::TNameTablePtr& GetNameTable() const override;
diff --git a/yt/yt/client/ypath/parser_detail.cpp b/yt/yt/client/ypath/parser_detail.cpp
index d1852f526f7..cb11a20767f 100644
--- a/yt/yt/client/ypath/parser_detail.cpp
+++ b/yt/yt/client/ypath/parser_detail.cpp
@@ -171,7 +171,7 @@ void ParseColumns(NYson::TTokenizer& tokenizer, IAttributeDictionary* attributes
return;
}
- std::vector<TString> columns;
+ std::vector<std::string> columns;
tokenizer.ParseNext();
while (tokenizer.GetCurrentType() != EndColumnSelectorToken) {
diff --git a/yt/yt/client/ypath/rich.cpp b/yt/yt/client/ypath/rich.cpp
index ddd386df64d..717194f64be 100644
--- a/yt/yt/client/ypath/rich.cpp
+++ b/yt/yt/client/ypath/rich.cpp
@@ -217,15 +217,15 @@ void TRichYPath::SetReadViaExecNode(bool value)
Attributes().Set("read_via_exec_node", value);
}
-std::optional<std::vector<TString>> TRichYPath::GetColumns() const
+std::optional<std::vector<std::string>> TRichYPath::GetColumns() const
{
if (Attributes().Contains("channel")) {
THROW_ERROR_EXCEPTION("Deprecated attribute \"channel\" in YPath");
}
- return FindAttribute<std::vector<TString>>(*this, "columns");
+ return FindAttribute<std::vector<std::string>>(*this, "columns");
}
-void TRichYPath::SetColumns(const std::vector<TString>& columns)
+void TRichYPath::SetColumns(const std::vector<std::string>& columns)
{
Attributes().Set("columns", columns);
}
diff --git a/yt/yt/client/ypath/rich.h b/yt/yt/client/ypath/rich.h
index b6d7d60ccf1..75335b7606d 100644
--- a/yt/yt/client/ypath/rich.h
+++ b/yt/yt/client/ypath/rich.h
@@ -67,8 +67,8 @@ public:
void SetReadViaExecNode(bool value);
// "columns"
- std::optional<std::vector<TString>> GetColumns() const;
- void SetColumns(const std::vector<TString>& columns);
+ std::optional<std::vector<std::string>> GetColumns() const;
+ void SetColumns(const std::vector<std::string>& columns);
// "rename_columns"
std::optional<NTableClient::TColumnRenameDescriptors> GetColumnRenameDescriptors() const;
diff --git a/yt/yt/library/formats/arrow_writer.cpp b/yt/yt/library/formats/arrow_writer.cpp
index 657da97ce54..a3ff967bc65 100644
--- a/yt/yt/library/formats/arrow_writer.cpp
+++ b/yt/yt/library/formats/arrow_writer.cpp
@@ -49,14 +49,14 @@ const TString AlignmentString(ArrowAlignment, 0);
flatbuffers::Offset<flatbuffers::String> SerializeString(
flatbuffers::FlatBufferBuilder* flatbufBuilder,
- const TString& str)
+ const std::string& str)
{
return flatbufBuilder->CreateString(str.data(), str.length());
}
std::tuple<org::apache::arrow::flatbuf::Type, flatbuffers::Offset<void>> SerializeColumnType(
flatbuffers::FlatBufferBuilder* flatbufBuilder,
- TColumnSchema schema)
+ const TColumnSchema& schema)
{
auto simpleType = CastToV1Type(schema.LogicalType()).first;
switch (simpleType) {
diff --git a/yt/yt/library/formats/protobuf.cpp b/yt/yt/library/formats/protobuf.cpp
index 3da3f04b48b..a710bf9e610 100644
--- a/yt/yt/library/formats/protobuf.cpp
+++ b/yt/yt/library/formats/protobuf.cpp
@@ -1013,7 +1013,8 @@ void TProtobufFormatDescriptionBase<TType>::InitFromProtobufSchema(
field->GetType());
}
const auto& enumerationConfig = field->AsMap();
- EnumerationDescriptionMap_.emplace(name, CreateEnumerationMap(TimestampColumnName, enumerationConfig));
+ // TODO(babenko): migrate to std::string
+ EnumerationDescriptionMap_.emplace(name, CreateEnumerationMap(TString(TimestampColumnName), enumerationConfig));
}
}
diff --git a/yt/yt/library/formats/schemaful_dsv_parser.cpp b/yt/yt/library/formats/schemaful_dsv_parser.cpp
index 3149f288511..7137e2672df 100644
--- a/yt/yt/library/formats/schemaful_dsv_parser.cpp
+++ b/yt/yt/library/formats/schemaful_dsv_parser.cpp
@@ -26,9 +26,9 @@ public:
void Finish() override;
private:
- IYsonConsumer* Consumer_;
- TSchemafulDsvFormatConfigPtr Config_;
- const std::vector<TString>& Columns_;
+ IYsonConsumer* const Consumer_;
+ const TSchemafulDsvFormatConfigPtr Config_;
+ const std::vector<std::string>& Columns_;
TEscapeTable EscapeTable_;
@@ -49,8 +49,8 @@ private:
////////////////////////////////////////////////////////////////////////////////
TSchemafulDsvParser::TSchemafulDsvParser(
- IYsonConsumer* consumer,
- TSchemafulDsvFormatConfigPtr config)
+ IYsonConsumer* consumer,
+ TSchemafulDsvFormatConfigPtr config)
: Consumer_(consumer)
, Config_(config)
, Columns_(Config_->GetColumnsOrThrow())
diff --git a/yt/yt/library/formats/schemaful_dsv_writer.cpp b/yt/yt/library/formats/schemaful_dsv_writer.cpp
index 4d2e7e1e6ed..b37486c5814 100644
--- a/yt/yt/library/formats/schemaful_dsv_writer.cpp
+++ b/yt/yt/library/formats/schemaful_dsv_writer.cpp
@@ -266,9 +266,9 @@ private:
////////////////////////////////////////////////////////////////////////////////
-void ValidateDuplicateColumns(const std::vector<TString>& columns)
+void ValidateDuplicateColumns(const std::vector<std::string>& columns)
{
- THashSet<TString> names;
+ THashSet<std::string> names;
for (const auto& name : columns) {
if (!names.insert(name).second) {
THROW_ERROR_EXCEPTION("Duplicate column name %Qv in schemaful DSV config",
diff --git a/yt/yt/library/formats/web_json_writer.cpp b/yt/yt/library/formats/web_json_writer.cpp
index d717cafb106..8049e134c98 100644
--- a/yt/yt/library/formats/web_json_writer.cpp
+++ b/yt/yt/library/formats/web_json_writer.cpp
@@ -48,7 +48,7 @@ static constexpr auto ContextBufferCapacity = 1_MB;
class TWebJsonColumnFilter
{
public:
- TWebJsonColumnFilter(int maxSelectedColumnCount, std::optional<THashSet<TString>> names)
+ TWebJsonColumnFilter(int maxSelectedColumnCount, std::optional<THashSet<std::string, THash<TStringBuf>, TEqualTo<>>> names)
: MaxSelectedColumnCount_(maxSelectedColumnCount)
, Names_(std::move(names))
{ }
@@ -68,7 +68,7 @@ public:
private:
const int MaxSelectedColumnCount_;
- std::optional<THashSet<TString>> Names_;
+ const std::optional<THashSet<std::string, THash<TStringBuf>, TEqualTo<>>> Names_;
THashSet<ui16> AcceptedColumnIds_;
@@ -91,7 +91,7 @@ private:
TWebJsonColumnFilter CreateWebJsonColumnFilter(const TWebJsonFormatConfigPtr& webJsonConfig)
{
- std::optional<THashSet<TString>> columnNames;
+ std::optional<THashSet<std::string, THash<TStringBuf>, TEqualTo<>>> columnNames;
if (webJsonConfig->ColumnNames) {
columnNames.emplace();
for (const auto& columnName : *webJsonConfig->ColumnNames) {
diff --git a/yt/yt/library/formats/yamred_dsv_parser.cpp b/yt/yt/library/formats/yamred_dsv_parser.cpp
index 476e760ea6f..79246cb92a8 100644
--- a/yt/yt/library/formats/yamred_dsv_parser.cpp
+++ b/yt/yt/library/formats/yamred_dsv_parser.cpp
@@ -17,39 +17,39 @@ class TYamredDsvParserConsumer
public:
TYamredDsvParserConsumer(IYsonConsumer* consumer, TYamredDsvFormatConfigPtr config)
: TYamrConsumerBase(consumer)
- , Config(config)
- , DsvParser(CreateParserForDsv(consumer, ConvertTo<TDsvFormatConfigPtr>(Config), /*wrapWithMap*/ false))
+ , Config_(config)
+ , DsvParser_(CreateParserForDsv(consumer, ConvertTo<TDsvFormatConfigPtr>(Config_), /*wrapWithMap*/ false))
{ }
void ConsumeKey(TStringBuf key) override
{
Consumer->OnListItem();
Consumer->OnBeginMap();
- ConsumeFields(Config->KeyColumnNames, key);
+ ConsumeFields(Config_->KeyColumnNames, key);
}
void ConsumeSubkey(TStringBuf subkey) override
{
- ConsumeFields(Config->SubkeyColumnNames, subkey);
+ ConsumeFields(Config_->SubkeyColumnNames, subkey);
}
void ConsumeValue(TStringBuf value) override
{
- DsvParser->Read(value);
- DsvParser->Finish();
+ DsvParser_->Read(value);
+ DsvParser_->Finish();
Consumer->OnEndMap();
}
private:
- TYamredDsvFormatConfigPtr Config;
- std::unique_ptr<IParser> DsvParser;
+ const TYamredDsvFormatConfigPtr Config_;
+ const std::unique_ptr<IParser> DsvParser_;
void ConsumeFields(
- const std::vector<TString>& fieldNames,
+ const std::vector<std::string>& fieldNames,
TStringBuf wholeField)
{
static const char* emptyString = "";
- char delimiter = Config->YamrKeysSeparator;
+ char delimiter = Config_->YamrKeysSeparator;
std::vector<TStringBuf> fields;
if (wholeField.length() == 0) {
diff --git a/yt/yt/library/named_value/named_value.h b/yt/yt/library/named_value/named_value.h
index 3a763465892..67592fe9f3d 100644
--- a/yt/yt/library/named_value/named_value.h
+++ b/yt/yt/library/named_value/named_value.h
@@ -38,11 +38,13 @@ NTableClient::TUnversionedOwningRow MakeRow(
class TNamedValue
{
public:
- struct TAny {
+ struct TAny
+ {
TString Value;
};
- struct TComposite {
+ struct TComposite
+ {
TString Value;
};
diff --git a/yt/yt/library/skiff_ext/parser-inl.h b/yt/yt/library/skiff_ext/parser-inl.h
index 0f781646c96..a48498ba254 100644
--- a/yt/yt/library/skiff_ext/parser-inl.h
+++ b/yt/yt/library/skiff_ext/parser-inl.h
@@ -22,8 +22,8 @@ public:
TConsumer* consumer,
TSkiffSchemaList skiffSchemaList,
const std::vector<TSkiffTableColumnIds>& tablesColumnIds,
- const TString& rangeIndexColumnName,
- const TString& rowIndexColumnName)
+ const std::string& rangeIndexColumnName,
+ const std::string& rowIndexColumnName)
: Consumer_(consumer)
, SkiffSchemaList_(std::move(skiffSchemaList))
{
@@ -183,8 +183,8 @@ TSkiffMultiTableParser<TConsumer>::TSkiffMultiTableParser(
TConsumer* consumer,
TSkiffSchemaList schemaList,
const std::vector<TSkiffTableColumnIds>& tablesColumnIds,
- const TString& rangeIndexColumnName,
- const TString& rowIndexColumnName)
+ const std::string& rangeIndexColumnName,
+ const std::string& rowIndexColumnName)
: ParserImpl_(new TImpl(consumer,
schemaList,
tablesColumnIds,
diff --git a/yt/yt/library/skiff_ext/parser.h b/yt/yt/library/skiff_ext/parser.h
index d9fb4c43fa8..82ad4cea50f 100644
--- a/yt/yt/library/skiff_ext/parser.h
+++ b/yt/yt/library/skiff_ext/parser.h
@@ -19,8 +19,8 @@ public:
TConsumer* consumer,
NSkiff::TSkiffSchemaList schemaList,
const std::vector<TSkiffTableColumnIds>& tablesColumnIds,
- const TString& rangeIndexColumnName,
- const TString& rowIndexColumnName);
+ const std::string& rangeIndexColumnName,
+ const std::string& rowIndexColumnName);
~TSkiffMultiTableParser();
diff --git a/yt/yt/library/skiff_ext/schema_match.cpp b/yt/yt/library/skiff_ext/schema_match.cpp
index 7587b8b8e94..390e7567985 100644
--- a/yt/yt/library/skiff_ext/schema_match.cpp
+++ b/yt/yt/library/skiff_ext/schema_match.cpp
@@ -20,7 +20,7 @@ const TString SparseColumnsName = "$sparse_columns";
////////////////////////////////////////////////////////////////////////////////
-static void ThrowInvalidSkiffTypeError(const TString& columnName, std::shared_ptr<TSkiffSchema> expectedType, std::shared_ptr<TSkiffSchema> actualType)
+static void ThrowInvalidSkiffTypeError(const std::string& columnName, std::shared_ptr<TSkiffSchema> expectedType, std::shared_ptr<TSkiffSchema> actualType)
{
THROW_ERROR_EXCEPTION("Column %Qv has unexpected Skiff type: expected %Qv, found type %Qv",
columnName,
@@ -56,13 +56,13 @@ static ERowRangeIndexMode GetRowRangeIndexMode(const std::shared_ptr<TSkiffSchem
static bool IsSkiffSpecialColumn(
TStringBuf columnName,
- const TString& rangeIndexColumnName,
- const TString& rowIndexColumnName)
+ const std::string& rangeIndexColumnName,
+ const std::string& rowIndexColumnName)
{
- static const THashSet<TString> specialColumns = {
+ static const THashSet<std::string, THash<TStringBuf>, TEqualTo<>> specialColumns{
KeySwitchColumnName,
OtherColumnsName,
- SparseColumnsName
+ SparseColumnsName,
};
return specialColumns.contains(columnName) || columnName == rangeIndexColumnName || columnName == rowIndexColumnName;
}
@@ -85,8 +85,8 @@ static std::pair<std::shared_ptr<TSkiffSchema>, bool> DeoptionalizeSchema(std::s
static TSkiffTableDescription CreateTableDescription(
const std::shared_ptr<TSkiffSchema>& skiffSchema,
- const TString& rangeIndexColumnName,
- const TString& rowIndexColumnName)
+ const std::string& rangeIndexColumnName,
+ const std::string& rowIndexColumnName)
{
TSkiffTableDescription result;
THashSet<TString> topLevelNames;
@@ -186,8 +186,8 @@ static TSkiffTableDescription CreateTableDescription(
std::vector<TSkiffTableDescription> CreateTableDescriptionList(
const std::vector<std::shared_ptr<TSkiffSchema>>& skiffSchemas,
- const TString& rangeIndexColumnName,
- const TString& rowIndexColumnName)
+ const std::string& rangeIndexColumnName,
+ const std::string& rowIndexColumnName)
{
std::vector<TSkiffTableDescription> result;
for (ui16 index = 0; index < skiffSchemas.size(); ++index) {
diff --git a/yt/yt/library/skiff_ext/schema_match.h b/yt/yt/library/skiff_ext/schema_match.h
index dc5a6c2dbc7..d7183c6ce39 100644
--- a/yt/yt/library/skiff_ext/schema_match.h
+++ b/yt/yt/library/skiff_ext/schema_match.h
@@ -76,8 +76,8 @@ struct TSkiffTableColumnIds
std::vector<TSkiffTableDescription> CreateTableDescriptionList(
const std::vector<std::shared_ptr<NSkiff::TSkiffSchema>>& skiffSchema,
- const TString& rangeIndexColumnName,
- const TString& rowIndexColumnName);
+ const std::string& rangeIndexColumnName,
+ const std::string& rowIndexColumnName);
std::vector<std::shared_ptr<NSkiff::TSkiffSchema>> ParseSkiffSchemas(
const NYTree::IMapNodePtr& skiffSchemaRegistry,