diff options
author | uzhas <uzhas@ydb.tech> | 2023-07-21 19:39:32 +0300 |
---|---|---|
committer | uzhas <uzhas@ydb.tech> | 2023-07-21 19:39:32 +0300 |
commit | 0431f0b450464a8f23304d0fc308775978746545 (patch) | |
tree | b66441f9db5e9014dd3f97c762bce87ace5b96d9 | |
parent | 29ae8fa544303466960689369d7ca9672b2530ea (diff) | |
download | ydb-0431f0b450464a8f23304d0fc308775978746545.tar.gz |
fix 0 columns in result scheme
-rw-r--r-- | ydb/core/fq/libs/result_formatter/result_formatter.cpp | 1 | ||||
-rw-r--r-- | ydb/core/fq/libs/result_formatter/result_formatter_ut.cpp | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/ydb/core/fq/libs/result_formatter/result_formatter.cpp b/ydb/core/fq/libs/result_formatter/result_formatter.cpp index 8941dcb8860..18b6165f3c1 100644 --- a/ydb/core/fq/libs/result_formatter/result_formatter.cpp +++ b/ydb/core/fq/libs/result_formatter/result_formatter.cpp @@ -405,6 +405,7 @@ void FormatResultSet(NJson::TJsonValue& root, const NYdb::TResultSet& resultSet, THolderFactory holderFactory(alloc.Ref(), memInfo); NJson::TJsonValue& columns = root["columns"]; + columns.SetType(NJson::JSON_ARRAY); const auto& columnsMeta = resultSet.GetColumnsMeta(); TVector<TTypePair> columnTypes; diff --git a/ydb/core/fq/libs/result_formatter/result_formatter_ut.cpp b/ydb/core/fq/libs/result_formatter/result_formatter_ut.cpp index 9bd432889b8..f4fcd95007d 100644 --- a/ydb/core/fq/libs/result_formatter/result_formatter_ut.cpp +++ b/ydb/core/fq/libs/result_formatter/result_formatter_ut.cpp @@ -103,6 +103,38 @@ Y_UNIT_TEST_SUITE(ResultFormatter) { } } + Y_UNIT_TEST(EmptyResultSet) { + Ydb::ResultSet rs; + { + NJson::TJsonValue root; + FormatResultSet(root, rs); + + TStringStream stream; + NJson::WriteJson(&stream, &root); + + // Cerr << stream.Str() << Endl; + + TString expected = R"___({"data":[],"columns":[]})___"; + + UNIT_ASSERT_VALUES_EQUAL(stream.Str(), expected); + } + + // pretty format + { + NJson::TJsonValue root; + FormatResultSet(root, rs, true, true); + + TStringStream stream; + NJson::WriteJson(&stream, &root); + + // Cerr << stream.Str() << Endl; + + TString expected = R"___({"data":[],"columns":[]})___"; + + UNIT_ASSERT_VALUES_EQUAL(stream.Str(), expected); + } + } + Y_UNIT_TEST(List) { Ydb::ResultSet rs; { |