aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruzhas <uzhas@ydb.tech>2023-07-21 19:39:32 +0300
committeruzhas <uzhas@ydb.tech>2023-07-21 19:39:32 +0300
commit0431f0b450464a8f23304d0fc308775978746545 (patch)
treeb66441f9db5e9014dd3f97c762bce87ace5b96d9
parent29ae8fa544303466960689369d7ca9672b2530ea (diff)
downloadydb-0431f0b450464a8f23304d0fc308775978746545.tar.gz
fix 0 columns in result scheme
-rw-r--r--ydb/core/fq/libs/result_formatter/result_formatter.cpp1
-rw-r--r--ydb/core/fq/libs/result_formatter/result_formatter_ut.cpp32
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;
{