diff options
author | max42 <max42@yandex-team.com> | 2023-06-30 11:13:34 +0300 |
---|---|---|
committer | max42 <max42@yandex-team.com> | 2023-06-30 11:13:34 +0300 |
commit | 3e1899838408bbad47622007aa382bc8a2b01f87 (patch) | |
tree | 0f21c1e6add187ddb6c3ccc048a7d640ce03fb87 /yt/cpp/mapreduce/interface/format.cpp | |
parent | 5463eb3f5e72a86f858a3d27c886470a724ede34 (diff) | |
download | ydb-3e1899838408bbad47622007aa382bc8a2b01f87.tar.gz |
Revert "YT-19324: move YT provider to ydb/library/yql"
This reverts commit ca272f12fdd0e8d5c3e957fc87939148f1caaf72, reversing
changes made to 49f8acfc8b0b5c0071b804423bcf53fda26c7c12.
Diffstat (limited to 'yt/cpp/mapreduce/interface/format.cpp')
-rw-r--r-- | yt/cpp/mapreduce/interface/format.cpp | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/yt/cpp/mapreduce/interface/format.cpp b/yt/cpp/mapreduce/interface/format.cpp deleted file mode 100644 index f8318310a4..0000000000 --- a/yt/cpp/mapreduce/interface/format.cpp +++ /dev/null @@ -1,135 +0,0 @@ -#include "format.h" -#include "protobuf_format.h" - -#include "errors.h" - -#include <google/protobuf/descriptor.h> -#include <google/protobuf/messagext.h> - -namespace NYT { - -TTableSchema CreateTableSchema( - const ::google::protobuf::Descriptor& messageDescriptor, - bool keepFieldsWithoutExtension) -{ - return NDetail::CreateTableSchemaImpl(messageDescriptor, keepFieldsWithoutExtension); -} - -//////////////////////////////////////////////////////////////////////////////// - -TFormat::TFormat(const TNode& config) - : Config(config) -{ } - - -TFormat TFormat::Protobuf( - const TVector<const ::google::protobuf::Descriptor*>& descriptors, - bool withDescriptors) -{ - if (withDescriptors) { - return TFormat(NDetail::MakeProtoFormatConfigWithDescriptors(descriptors)); - } else { - return TFormat(NDetail::MakeProtoFormatConfigWithTables(descriptors)); - } -} - -TFormat TFormat::YsonText() -{ - TNode config("yson"); - config.Attributes()("format", "text"); - return TFormat(config); -} - -TFormat TFormat::YsonBinary() -{ - TNode config("yson"); - config.Attributes()("format", "binary"); - return TFormat(config); -} - -TFormat TFormat::YaMRLenval() -{ - TNode config("yamr"); - config.Attributes()("lenval", true)("has_subkey", true); - return TFormat(config); -} - -TFormat TFormat::Json() -{ - return TFormat(TNode("json")); -} - -bool TFormat::IsTextYson() const -{ - if (!Config.IsString() || Config.AsString() != "yson") { - return false; - } - if (!Config.HasAttributes()) { - return false; - } - const auto& attributes = Config.GetAttributes(); - if (!attributes.HasKey("format") || attributes["format"] != TNode("text")) { - return false; - } - return true; -} - -bool TFormat::IsProtobuf() const -{ - return Config.IsString() && Config.AsString() == "protobuf"; -} - -bool TFormat::IsYamredDsv() const -{ - return Config.IsString() && Config.AsString() == "yamred_dsv"; -} - -static TString FormatName(const TFormat& format) -{ - if (!format.Config.IsString()) { - Y_VERIFY(format.Config.IsUndefined()); - return "<undefined>"; - } - return format.Config.AsString(); -} - -TYamredDsvAttributes TFormat::GetYamredDsvAttributes() const -{ - if (!IsYamredDsv()) { - ythrow TApiUsageError() << "Cannot get yamred_dsv attributes for " << FormatName(*this) << " format"; - } - TYamredDsvAttributes attributes; - - const auto& nodeAttributes = Config.GetAttributes(); - { - const auto& keyColumns = nodeAttributes["key_column_names"]; - if (!keyColumns.IsList()) { - ythrow yexception() << "Ill-formed format: key_column_names is of non-list type: " << keyColumns.GetType(); - } - for (auto& column : keyColumns.AsList()) { - if (!column.IsString()) { - ythrow yexception() << "Ill-formed format: key_column_names: " << column.GetType(); - } - attributes.KeyColumnNames.push_back(column.AsString()); - } - } - - if (nodeAttributes.HasKey("subkey_column_names")) { - const auto& subkeyColumns = nodeAttributes["subkey_column_names"]; - if (!subkeyColumns.IsList()) { - ythrow yexception() << "Ill-formed format: subkey_column_names is not a list: " << subkeyColumns.GetType(); - } - for (const auto& column : subkeyColumns.AsList()) { - if (!column.IsString()) { - ythrow yexception() << "Ill-formed format: non-string inside subkey_key_column_names: " << column.GetType(); - } - attributes.SubkeyColumnNames.push_back(column.AsString()); - } - } - - return attributes; -} - -//////////////////////////////////////////////////////////////////////////////// - -} // namespace NYT |