From 2d1b60af74420efe61a232e997acd2272aac6dbc Mon Sep 17 00:00:00 2001 From: Semyon Date: Wed, 30 Oct 2024 14:21:05 +0300 Subject: [PATCH] fix compilation of SerializeToBinaryJson on macos (#10783) --- ydb/core/formats/arrow/converter.cpp | 4 ++-- ydb/core/ydb_convert/ydb_convert.cpp | 4 ++-- ydb/library/binary_json/write.cpp | 16 ++++++++-------- ydb/library/binary_json/ya.make | 4 ++++ 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/ydb/core/formats/arrow/converter.cpp b/ydb/core/formats/arrow/converter.cpp index 5b95eebd472f..150211900da0 100644 --- a/ydb/core/formats/arrow/converter.cpp +++ b/ydb/core/formats/arrow/converter.cpp @@ -99,8 +99,8 @@ static arrow::Status ConvertColumn(const NScheme::TTypeInfo colType, std::shared } else { const auto binaryJson = NBinaryJson::SerializeToBinaryJson(valueBuf); if (binaryJson.IsFail()) { - return arrow::Status::SerializationError( - "Cannot serialize json (", binaryJson.GetErrorMessage(), "): ", valueBuf.SubStr(0, Min(valueBuf.Size(), 1024ul))); + return arrow::Status::SerializationError("Cannot serialize json (", binaryJson.GetErrorMessage(), + "): ", valueBuf.SubStr(0, Min(valueBuf.Size(), size_t{1024}))); } auto appendResult = builder.Append(binaryJson->Data(), binaryJson->Size()); if (!appendResult.ok()) { diff --git a/ydb/core/ydb_convert/ydb_convert.cpp b/ydb/core/ydb_convert/ydb_convert.cpp index ef74ea8afb7e..e3575d096d34 100644 --- a/ydb/core/ydb_convert/ydb_convert.cpp +++ b/ydb/core/ydb_convert/ydb_convert.cpp @@ -492,7 +492,7 @@ Y_FORCE_INLINE void ConvertData(NUdf::TDataTypeId typeId, const Ydb::Value& valu CheckTypeId(value.value_case(), Ydb::Value::kTextValue, "JsonDocument"); const auto binaryJson = NBinaryJson::SerializeToBinaryJson(value.text_value()); if (binaryJson.IsFail()) { - throw yexception() << "Invalid JsonDocument value"; + throw yexception() << "Invalid JsonDocument value: " << binaryJson.GetErrorMessage(); } res.SetBytes(binaryJson->Data(), binaryJson->Size()); break; @@ -1218,7 +1218,7 @@ bool CellFromProtoVal(NScheme::TTypeInfo type, i32 typmod, const Ydb::Value* vp, case NScheme::NTypeIds::JsonDocument : { const auto binaryJson = NBinaryJson::SerializeToBinaryJson(val.Gettext_value()); if (binaryJson.IsFail()) { - err = "Invalid JSON for JsonDocument provided"; + err = "Invalid JSON for JsonDocument provided: " + binaryJson.GetErrorMessage(); return false; } const auto binaryJsonInPool = valueDataPool.AppendString(TStringBuf(binaryJson->Data(), binaryJson->Size())); diff --git a/ydb/library/binary_json/write.cpp b/ydb/library/binary_json/write.cpp index 11cbbd22c55d..b3583fe6b387 100644 --- a/ydb/library/binary_json/write.cpp +++ b/ydb/library/binary_json/write.cpp @@ -571,25 +571,25 @@ template } case simdjson::ondemand::json_type::number: { switch (value.get_number_type()) { - case simdjson::fallback::number_type::floating_point_number: { + case simdjson::builtin::number_type::floating_point_number: { double v; RETURN_IF_NOT_SUCCESS(value.get(v)); callbacks.OnDouble(v); break; } - case simdjson::fallback::number_type::signed_integer: { - i64 v; + case simdjson::builtin::number_type::signed_integer: { + int64_t v; RETURN_IF_NOT_SUCCESS(value.get(v)); callbacks.OnInteger(v); break; } - case simdjson::fallback::number_type::unsigned_integer: { - ui64 v; + case simdjson::builtin::number_type::unsigned_integer: { + uint64_t v; RETURN_IF_NOT_SUCCESS(value.get(v)); callbacks.OnUInteger(v); break; } - case simdjson::fallback::number_type::big_integer: + case simdjson::builtin::number_type::big_integer: double v; RETURN_IF_NOT_SUCCESS(value.get(v)); callbacks.OnDouble(v); @@ -664,13 +664,13 @@ template break; } case simdjson::dom::element_type::INT64: { - i64 v; + int64_t v; RETURN_IF_NOT_SUCCESS(value.get(v)); callbacks.OnInteger(v); break; } case simdjson::dom::element_type::UINT64: { - ui64 v; + uint64_t v; RETURN_IF_NOT_SUCCESS(value.get(v)); callbacks.OnUInteger(v); break; diff --git a/ydb/library/binary_json/ya.make b/ydb/library/binary_json/ya.make index 5d8b70d56e97..d287346c9895 100644 --- a/ydb/library/binary_json/ya.make +++ b/ydb/library/binary_json/ya.make @@ -22,6 +22,10 @@ SRCS( GENERATE_ENUM_SERIALIZATION(format.h) +CFLAGS( + -Wno-assume +) + END() RECURSE_FOR_TESTS(