diff options
author | andrew-rykov <[email protected]> | 2023-05-12 22:31:27 +0300 |
---|---|---|
committer | andrew-rykov <[email protected]> | 2023-05-12 22:31:27 +0300 |
commit | 48a15d9d47d0aba291d575439b7aab3ca0b42086 (patch) | |
tree | 99f6d8047cc0cbed4e372805bbda282af02d3287 | |
parent | 8ba46efa5fcb92e1efa4c1862e86887e628acaeb (diff) |
uuid column bug
-rw-r--r-- | ydb/core/viewer/json_query.h | 2 | ||||
-rw-r--r-- | ydb/public/lib/scheme_types/scheme_type_id.h | 1 | ||||
-rw-r--r-- | ydb/public/lib/value/CMakeLists.darwin-x86_64.txt | 1 | ||||
-rw-r--r-- | ydb/public/lib/value/CMakeLists.linux-aarch64.txt | 1 | ||||
-rw-r--r-- | ydb/public/lib/value/CMakeLists.linux-x86_64.txt | 1 | ||||
-rw-r--r-- | ydb/public/lib/value/CMakeLists.windows-x86_64.txt | 1 | ||||
-rw-r--r-- | ydb/public/lib/value/value.cpp | 7 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_value/value.cpp | 5 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_value/value.h | 1 |
9 files changed, 19 insertions, 1 deletions
diff --git a/ydb/core/viewer/json_query.h b/ydb/core/viewer/json_query.h index 92dedf5b35e..e1f2561b331 100644 --- a/ydb/core/viewer/json_query.h +++ b/ydb/core/viewer/json_query.h @@ -192,7 +192,7 @@ private: case NYdb::EPrimitiveType::DyNumber: return valueParser.GetDyNumber(); case NYdb::EPrimitiveType::Uuid: - return "<uuid not implemented>"; + return valueParser.GetUuid().ToString(); } } diff --git a/ydb/public/lib/scheme_types/scheme_type_id.h b/ydb/public/lib/scheme_types/scheme_type_id.h index 8c2aa7d2d50..c50e129ece0 100644 --- a/ydb/public/lib/scheme_types/scheme_type_id.h +++ b/ydb/public/lib/scheme_types/scheme_type_id.h @@ -47,6 +47,7 @@ static constexpr TTypeId Text = Utf8; static constexpr TTypeId Yson = NYql::NProto::Yson; static constexpr TTypeId Json = NYql::NProto::Json; +static constexpr TTypeId Uuid = NYql::NProto::Uuid; static constexpr TTypeId JsonDocument = NYql::NProto::JsonDocument; static constexpr TTypeId DyNumber = NYql::NProto::DyNumber; diff --git a/ydb/public/lib/value/CMakeLists.darwin-x86_64.txt b/ydb/public/lib/value/CMakeLists.darwin-x86_64.txt index bf3d5862d7d..c20c5c23b33 100644 --- a/ydb/public/lib/value/CMakeLists.darwin-x86_64.txt +++ b/ydb/public/lib/value/CMakeLists.darwin-x86_64.txt @@ -16,6 +16,7 @@ target_link_libraries(public-lib-value PUBLIC ydb-core-protos library-mkql_proto-protos public-lib-scheme_types + cpp-client-ydb_value ) target_sources(public-lib-value PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/lib/value/value.cpp diff --git a/ydb/public/lib/value/CMakeLists.linux-aarch64.txt b/ydb/public/lib/value/CMakeLists.linux-aarch64.txt index bb738d2d13a..784030fd2a8 100644 --- a/ydb/public/lib/value/CMakeLists.linux-aarch64.txt +++ b/ydb/public/lib/value/CMakeLists.linux-aarch64.txt @@ -17,6 +17,7 @@ target_link_libraries(public-lib-value PUBLIC ydb-core-protos library-mkql_proto-protos public-lib-scheme_types + cpp-client-ydb_value ) target_sources(public-lib-value PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/lib/value/value.cpp diff --git a/ydb/public/lib/value/CMakeLists.linux-x86_64.txt b/ydb/public/lib/value/CMakeLists.linux-x86_64.txt index bb738d2d13a..784030fd2a8 100644 --- a/ydb/public/lib/value/CMakeLists.linux-x86_64.txt +++ b/ydb/public/lib/value/CMakeLists.linux-x86_64.txt @@ -17,6 +17,7 @@ target_link_libraries(public-lib-value PUBLIC ydb-core-protos library-mkql_proto-protos public-lib-scheme_types + cpp-client-ydb_value ) target_sources(public-lib-value PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/lib/value/value.cpp diff --git a/ydb/public/lib/value/CMakeLists.windows-x86_64.txt b/ydb/public/lib/value/CMakeLists.windows-x86_64.txt index bf3d5862d7d..c20c5c23b33 100644 --- a/ydb/public/lib/value/CMakeLists.windows-x86_64.txt +++ b/ydb/public/lib/value/CMakeLists.windows-x86_64.txt @@ -16,6 +16,7 @@ target_link_libraries(public-lib-value PUBLIC ydb-core-protos library-mkql_proto-protos public-lib-scheme_types + cpp-client-ydb_value ) target_sources(public-lib-value PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/lib/value/value.cpp diff --git a/ydb/public/lib/value/value.cpp b/ydb/public/lib/value/value.cpp index 0ed8b826895..7edde8c7a5e 100644 --- a/ydb/public/lib/value/value.cpp +++ b/ydb/public/lib/value/value.cpp @@ -8,6 +8,7 @@ #include <util/string/cast.h> #include <util/string/escape.h> #include <util/string/printf.h> +#include <ydb/public/sdk/cpp/client/ydb_value/value.h> namespace NKikimr { namespace NClient { @@ -421,7 +422,13 @@ TString TValue::GetDataText() const { return ToString(Value.GetInt64()); case NScheme::NTypeIds::JsonDocument: return "\"<JsonDocument>\""; + case NScheme::NTypeIds::Uuid: + { + NYdb::TUuidValue val(Value.GetLow128(), Value.GetHi128()); + return val.ToString(); + } } + return TStringBuilder() << "\"<unknown type " << Type.GetData().GetScheme() << ">\""; } diff --git a/ydb/public/sdk/cpp/client/ydb_value/value.cpp b/ydb/public/sdk/cpp/client/ydb_value/value.cpp index 8b83b70a8b1..d1c52ff73ed 100644 --- a/ydb/public/sdk/cpp/client/ydb_value/value.cpp +++ b/ydb/public/sdk/cpp/client/ydb_value/value.cpp @@ -1002,6 +1002,11 @@ bool TPgValue::IsText() const { //////////////////////////////////////////////////////////////////////////////// +TUuidValue::TUuidValue(ui64 low_128, ui64 high_128) { + Buf_.Halfs[0] = low_128; + Buf_.Halfs[1] = high_128; +} + TUuidValue::TUuidValue(const Ydb::Value& valueProto) { Buf_.Halfs[0] = valueProto.low_128(); Buf_.Halfs[1] = valueProto.high_128(); diff --git a/ydb/public/sdk/cpp/client/ydb_value/value.h b/ydb/public/sdk/cpp/client/ydb_value/value.h index d50ae3bffbc..4e5af92254d 100644 --- a/ydb/public/sdk/cpp/client/ydb_value/value.h +++ b/ydb/public/sdk/cpp/client/ydb_value/value.h @@ -246,6 +246,7 @@ struct TPgValue { struct TUuidValue { TString ToString() const; + TUuidValue(ui64 low_128, ui64 high_128); TUuidValue(const Ydb::Value& uuidValueProto); TUuidValue(const TString& uuidString); |