diff --git a/ydb/core/kqp/opt/kqp_query_plan.cpp b/ydb/core/kqp/opt/kqp_query_plan.cpp index c88a4e5ff50f..a15be1402b92 100644 --- a/ydb/core/kqp/opt/kqp_query_plan.cpp +++ b/ydb/core/kqp/opt/kqp_query_plan.cpp @@ -561,9 +561,7 @@ class TxPlanSerializer { } if (auto literal = key.Maybe()) { - TStringStream out; - NUuid::UuidBytesToString(literal.Cast().Literal().Value().Data(), out); - return out.Str(); + return NUuid::UuidBytesToString(literal.Cast().Literal().StringValue()); } if (auto literal = key.Maybe()) { diff --git a/ydb/library/uuid/uuid.cpp b/ydb/library/uuid/uuid.cpp index ef1d2d44c00f..1ad72385e048 100644 --- a/ydb/library/uuid/uuid.cpp +++ b/ydb/library/uuid/uuid.cpp @@ -28,6 +28,14 @@ static void WriteHex(ui16 bytes, IOutputStream& out, bool reverseBytes = false) } } +TString UuidBytesToString(const TString& in) { + TStringStream ss; + + UuidBytesToString(in, ss); + + return ss.Str(); +} + void UuidBytesToString(TString in, IOutputStream& out) { ui16 dw[8]; std::memcpy(dw, in.Data(), sizeof(dw)); diff --git a/ydb/library/uuid/uuid.h b/ydb/library/uuid/uuid.h index 1d7ef1a4dfa9..0158480feb01 100644 --- a/ydb/library/uuid/uuid.h +++ b/ydb/library/uuid/uuid.h @@ -13,6 +13,7 @@ namespace NUuid { static constexpr ui32 UUID_LEN = 16; +TString UuidBytesToString(const TString& in); void UuidBytesToString(TString in, IOutputStream& out); void UuidToString(ui16 dw[8], IOutputStream& out); void UuidHalfsToByteString(ui64 low, ui64 hi, IOutputStream& out);