aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornsofya <nsofya@yandex-team.com>2023-07-06 18:54:12 +0300
committernsofya <nsofya@yandex-team.com>2023-07-06 18:54:12 +0300
commit8e303d9d16ea628a70ef50c435f225b8c4110641 (patch)
tree1d1a25c694d3572492fc6caeb143fd3ce5f1742f
parent8f4f6d0694064b02f553612f24dbb0bd57901fc5 (diff)
downloadydb-8e303d9d16ea628a70ef50c435f225b8c4110641.tar.gz
Use String intstead binary for Json type
Посмотрела, какие схемы у нас сейчас в проде, везде используется JsonDocument. Поэтому такая правка должна быть безопасной и позволит нам поддержать совместимость с yql-ядрами для json
-rw-r--r--ydb/core/formats/arrow/switch/switch_type.h2
-rw-r--r--ydb/core/formats/arrow/ut_arrow.cpp2
-rw-r--r--ydb/core/kqp/ut/scheme/kqp_scheme_ut.cpp2
-rw-r--r--ydb/core/tx/columnshard/engines/ut_program.cpp4
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";