diff options
author | robot-piglet <[email protected]> | 2025-04-11 12:48:16 +0300 |
---|---|---|
committer | robot-piglet <[email protected]> | 2025-04-11 13:13:08 +0300 |
commit | b6b2ed1703f13a750993297a29862b818a781ced (patch) | |
tree | d9093ebc2909768a2806ae4ff532af5a7935bbdd /library/cpp | |
parent | 2d1a7b6b3b9b3e7e70aace2c33caf5cb965e9c66 (diff) |
Intermediate changes
commit_hash:3ca33ca3ca1c17f83267938f846bee0cb3c3461b
Diffstat (limited to 'library/cpp')
-rw-r--r-- | library/cpp/protobuf/yql/descriptor.cpp | 5 | ||||
-rw-r--r-- | library/cpp/protobuf/yql/descriptor.h | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/library/cpp/protobuf/yql/descriptor.cpp b/library/cpp/protobuf/yql/descriptor.cpp index e5e1c8e28bd..3a0d0d8b47c 100644 --- a/library/cpp/protobuf/yql/descriptor.cpp +++ b/library/cpp/protobuf/yql/descriptor.cpp @@ -232,6 +232,9 @@ TString GenerateProtobufTypeConfig( case ERecursionTraits::Bytes: ret["view"]["recursion"] = "bytes"; break; + case ERecursionTraits::BytesV2: + ret["view"]["recursion"] = "bytesV2"; + break; } if (options.YtMode) { @@ -314,6 +317,8 @@ TProtoTypeConfig ParseTypeConfig(const TStringBuf& config) { result.Recursion = ERecursionTraits::Ignore; } else if (recursion == "bytes") { result.Recursion = ERecursionTraits::Bytes; + } else if (recursion == "bytesV2") { + result.Recursion = ERecursionTraits::BytesV2; } else { ythrow yexception() << "unsupported recursion trait " << recursion; diff --git a/library/cpp/protobuf/yql/descriptor.h b/library/cpp/protobuf/yql/descriptor.h index f5f51add0bc..3a864f20267 100644 --- a/library/cpp/protobuf/yql/descriptor.h +++ b/library/cpp/protobuf/yql/descriptor.h @@ -27,6 +27,10 @@ enum class ERecursionTraits { Ignore = 1, //! Возвращать поля с рекурсивным типом в виде сериализованной строки Bytes = 2, + //! Возвращать поля с рекурсивным типом в виде сериализованной строки. + //! В этом режиме пофиксен баг, в котором + //! |optional RecursiveMessage field = 1| превращалось в байтовую строку, а не в опциональную байтовую строку. + BytesV2 = 3, }; struct TProtoTypeConfig { |