summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlucius <[email protected]>2025-01-28 14:55:20 +0300
committerlucius <[email protected]>2025-01-28 15:18:19 +0300
commita3dde81f2b32593e49107bb361c8c0c189f5bdb6 (patch)
tree85089ee68a37b78abc9be5604a8ee077a44ec6db
parentf1f06f6c2c5c615da6dd44aa9e6dff98dd56b5a4 (diff)
YT-22409: add full_result to finished_query_results
commit_hash:c23c774293faf3a31a2912d8472aa05852480095
-rw-r--r--yt/yt/client/api/query_tracker_client.cpp3
-rw-r--r--yt/yt/client/api/query_tracker_client.h1
-rw-r--r--yt/yt/client/api/rpc_proxy/client_impl.cpp1
-rw-r--r--yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto1
4 files changed, 5 insertions, 1 deletions
diff --git a/yt/yt/client/api/query_tracker_client.cpp b/yt/yt/client/api/query_tracker_client.cpp
index 86633c206b9..f374fa39ee5 100644
--- a/yt/yt/client/api/query_tracker_client.cpp
+++ b/yt/yt/client/api/query_tracker_client.cpp
@@ -54,7 +54,7 @@ void Serialize(const TQuery& query, NYson::IYsonConsumer* consumer)
void Serialize(const TQueryResult& queryResult, NYson::IYsonConsumer* consumer)
{
- static_assert(pfr::tuple_size<TQueryResult>::value == 6);
+ static_assert(pfr::tuple_size<TQueryResult>::value == 7);
BuildYsonFluently(consumer)
.BeginMap()
.Item("id").Value(queryResult.Id)
@@ -65,6 +65,7 @@ void Serialize(const TQueryResult& queryResult, NYson::IYsonConsumer* consumer)
})
.OptionalItem("schema", queryResult.Schema)
.Item("is_truncated").Value(queryResult.IsTruncated)
+ .OptionalItem("full_result", queryResult.FullResult)
.Item("data_statistics").Value(queryResult.DataStatistics)
.EndMap();
}
diff --git a/yt/yt/client/api/query_tracker_client.h b/yt/yt/client/api/query_tracker_client.h
index 0e0fc147bf8..2cdcf2cbab4 100644
--- a/yt/yt/client/api/query_tracker_client.h
+++ b/yt/yt/client/api/query_tracker_client.h
@@ -123,6 +123,7 @@ struct TQueryResult
NTableClient::TTableSchemaPtr Schema;
NChunkClient::NProto::TDataStatistics DataStatistics;
bool IsTruncated;
+ std::optional<NYson::TYsonString> FullResult;
};
void Serialize(const TQueryResult& queryResult, NYson::IYsonConsumer* consumer);
diff --git a/yt/yt/client/api/rpc_proxy/client_impl.cpp b/yt/yt/client/api/rpc_proxy/client_impl.cpp
index 74e545e7f22..54c04351e1d 100644
--- a/yt/yt/client/api/rpc_proxy/client_impl.cpp
+++ b/yt/yt/client/api/rpc_proxy/client_impl.cpp
@@ -2325,6 +2325,7 @@ TFuture<TQueryResult> TClient::GetQueryResult(
.Schema = rsp->has_schema() ? FromProto<NTableClient::TTableSchemaPtr>(rsp->schema()) : nullptr,
.DataStatistics = FromProto<NChunkClient::NProto::TDataStatistics>(rsp->data_statistics()),
.IsTruncated = rsp->is_truncated(),
+ .FullResult = rsp->has_full_result() ? std::make_optional(TYsonString(rsp->full_result())) : std::nullopt,
};
}));
}
diff --git a/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto b/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto
index bfdd234fb23..350c5dc87b4 100644
--- a/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto
+++ b/yt/yt_proto/yt/client/api/rpc_proxy/proto/api_service.proto
@@ -3305,6 +3305,7 @@ message TRspGetQueryResult
optional TTableSchema schema = 4;
required NYT.NChunkClient.NProto.TDataStatistics data_statistics = 5;
required bool is_truncated = 6;
+ optional bytes full_result = 7; // YSON
}
////////////////////////////////////////////////////////////////////////////////