diff options
author | nsofya <nsofya@yandex-team.com> | 2023-07-06 18:54:12 +0300 |
---|---|---|
committer | nsofya <nsofya@yandex-team.com> | 2023-07-06 18:54:12 +0300 |
commit | 8e303d9d16ea628a70ef50c435f225b8c4110641 (patch) | |
tree | 1d1a25c694d3572492fc6caeb143fd3ce5f1742f | |
parent | 8f4f6d0694064b02f553612f24dbb0bd57901fc5 (diff) | |
download | ydb-8e303d9d16ea628a70ef50c435f225b8c4110641.tar.gz |
Use String intstead binary for Json type
Посмотрела, какие схемы у нас сейчас в проде, везде используется JsonDocument. Поэтому такая правка должна быть безопасной и позволит нам поддержать совместимость с yql-ядрами для json
-rw-r--r-- | ydb/core/formats/arrow/switch/switch_type.h | 2 | ||||
-rw-r--r-- | ydb/core/formats/arrow/ut_arrow.cpp | 2 | ||||
-rw-r--r-- | ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp | 2 | ||||
-rw-r--r-- | ydb/core/tx/columnshard/engines/ut_program.cpp | 4 |
4 files changed, 5 insertions, 5 deletions
diff --git a/ydb/core/formats/arrow/switch/switch_type.h b/ydb/core/formats/arrow/switch/switch_type.h index 9996499d631..753338a5148 100644 --- a/ydb/core/formats/arrow/switch/switch_type.h +++ b/ydb/core/formats/arrow/switch/switch_type.h @@ -142,12 +142,12 @@ bool SwitchYqlTypeToArrowType(const NScheme::TTypeInfo& typeInfo, TFunc&& callba case NScheme::NTypeIds::Double: return callback(TTypeWrapper<arrow::DoubleType>()); case NScheme::NTypeIds::Utf8: + case NScheme::NTypeIds::Json: return callback(TTypeWrapper<arrow::StringType>()); case NScheme::NTypeIds::String: case NScheme::NTypeIds::String4k: case NScheme::NTypeIds::String2m: case NScheme::NTypeIds::Yson: - case NScheme::NTypeIds::Json: case NScheme::NTypeIds::DyNumber: case NScheme::NTypeIds::JsonDocument: return callback(TTypeWrapper<arrow::BinaryType>()); diff --git a/ydb/core/formats/arrow/ut_arrow.cpp b/ydb/core/formats/arrow/ut_arrow.cpp index b167abc7364..8bbef7c3887 100644 --- a/ydb/core/formats/arrow/ut_arrow.cpp +++ b/ydb/core/formats/arrow/ut_arrow.cpp @@ -105,7 +105,7 @@ struct TDataRow { arrow::field("f64", arrow::float64()), arrow::field("string", arrow::binary()), arrow::field("utf8", arrow::utf8()), - arrow::field("json", arrow::binary()), + arrow::field("json", arrow::utf8()), arrow::field("yson", arrow::binary()), arrow::field("date", arrow::uint16()), arrow::field("datetime", arrow::uint32()), diff --git a/ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp b/ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp index 2a31d403a8b..bfd71fecfa5 100644 --- a/ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp +++ b/ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp @@ -4785,7 +4785,7 @@ namespace { case NScheme::NTypeIds::Utf8: return arrow::field(name, arrow::utf8()); case NScheme::NTypeIds::Json: - return arrow::field(name, arrow::binary()); + return arrow::field(name, arrow::utf8()); case NScheme::NTypeIds::Yson: return arrow::field(name, arrow::binary()); case NScheme::NTypeIds::Date: diff --git a/ydb/core/tx/columnshard/engines/ut_program.cpp b/ydb/core/tx/columnshard/engines/ut_program.cpp index 230de9d1bb3..c3fbecf7083 100644 --- a/ydb/core/tx/columnshard/engines/ut_program.cpp +++ b/ydb/core/tx/columnshard/engines/ut_program.cpp @@ -341,7 +341,7 @@ Y_UNIT_TEST_SUITE(TestProgram) { TString errors; UNIT_ASSERT_C(program.Init(columnResolver, NKikimrSchemeOp::EOlapProgramType::OLAP_PROGRAM_SSA_PROGRAM_WITH_PARAMETERS, programSerialized, errors), errors); - TTableUpdatesBuilder updates(NArrow::MakeArrowSchema({{"json_data", TTypeInfo(isBinaryType ? NTypeIds::JsonDocument : NTypeIds::Utf8) }})); + TTableUpdatesBuilder updates(NArrow::MakeArrowSchema({{"json_data", TTypeInfo(isBinaryType ? NTypeIds::JsonDocument : NTypeIds::Json) }})); NJson::TJsonValue testJson; testJson["key"] = "value"; updates.AddRow().Add<std::string>(testJson.GetStringRobust()); @@ -497,7 +497,7 @@ Y_UNIT_TEST_SUITE(TestProgram) { TString errors; UNIT_ASSERT_C(program.Init(columnResolver, NKikimrSchemeOp::EOlapProgramType::OLAP_PROGRAM_SSA_PROGRAM_WITH_PARAMETERS, programSerialized, errors), errors); - TTableUpdatesBuilder updates(NArrow::MakeArrowSchema({{"json_data", TTypeInfo(isBinaryType ? NTypeIds::JsonDocument : NTypeIds::Utf8) }})); + TTableUpdatesBuilder updates(NArrow::MakeArrowSchema({{"json_data", TTypeInfo(isBinaryType ? NTypeIds::JsonDocument : NTypeIds::Json) }})); { NJson::TJsonValue testJson; testJson["key"] = "value"; |