summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandrew-rykov <[email protected]>2023-05-12 22:31:27 +0300
committerandrew-rykov <[email protected]>2023-05-12 22:31:27 +0300
commit48a15d9d47d0aba291d575439b7aab3ca0b42086 (patch)
tree99f6d8047cc0cbed4e372805bbda282af02d3287
parent8ba46efa5fcb92e1efa4c1862e86887e628acaeb (diff)
uuid column bug
-rw-r--r--ydb/core/viewer/json_query.h2
-rw-r--r--ydb/public/lib/scheme_types/scheme_type_id.h1
-rw-r--r--ydb/public/lib/value/CMakeLists.darwin-x86_64.txt1
-rw-r--r--ydb/public/lib/value/CMakeLists.linux-aarch64.txt1
-rw-r--r--ydb/public/lib/value/CMakeLists.linux-x86_64.txt1
-rw-r--r--ydb/public/lib/value/CMakeLists.windows-x86_64.txt1
-rw-r--r--ydb/public/lib/value/value.cpp7
-rw-r--r--ydb/public/sdk/cpp/client/ydb_value/value.cpp5
-rw-r--r--ydb/public/sdk/cpp/client/ydb_value/value.h1
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);