aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhcpp <hcpp@ydb.tech>2023-07-13 11:55:31 +0300
committerhcpp <hcpp@ydb.tech>2023-07-13 11:55:31 +0300
commit589e557e0cd851dce2875618f069c3e25e9dcc3b (patch)
tree4f28f71868c5c2e7adcf607a1edbbdd7dfb54702
parentbd63620347abff176fdc0c9bae4919c4d684b29c (diff)
downloadydb-589e557e0cd851dce2875618f069c3e25e9dcc3b.tar.gz
result sets meta has been supported for sdk
-rw-r--r--ydb/core/kqp/ut/service/kqp_query_service_ut.cpp11
-rw-r--r--ydb/public/sdk/cpp/client/ydb_query/query.cpp1
-rw-r--r--ydb/public/sdk/cpp/client/ydb_query/query.h1
3 files changed, 10 insertions, 3 deletions
diff --git a/ydb/core/kqp/ut/service/kqp_query_service_ut.cpp b/ydb/core/kqp/ut/service/kqp_query_service_ut.cpp
index b5fe150cc6..3fed3346bf 100644
--- a/ydb/core/kqp/ut/service/kqp_query_service_ut.cpp
+++ b/ydb/core/kqp/ut/service/kqp_query_service_ut.cpp
@@ -389,6 +389,11 @@ Y_UNIT_TEST_SUITE(KqpQueryService) {
UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecMode, EExecMode::Execute);
UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecutionId, scriptExecutionOperation.Metadata().ExecutionId);
UNIT_ASSERT_STRING_CONTAINS(readyOp.Metadata().ScriptContent.Text, "SELECT 42");
+ UNIT_ASSERT_VALUES_EQUAL(readyOp.Metadata().ResultSetsMeta.size(), 1);
+ UNIT_ASSERT_VALUES_EQUAL(readyOp.Metadata().ResultSetsMeta.front().columns_size(), 1);
+ UNIT_ASSERT_VALUES_EQUAL(readyOp.Metadata().ResultSetsMeta.front().truncated(), false);
+ UNIT_ASSERT_VALUES_EQUAL(readyOp.Metadata().ResultSetsMeta.front().columns(0).name(), "column0");
+ UNIT_ASSERT_EQUAL(readyOp.Metadata().ResultSetsMeta.front().columns(0).type().type_id(), Ydb::Type::PrimitiveTypeId::Type_PrimitiveTypeId_INT32);
TFetchScriptResultsResult results = db.FetchScriptResults(scriptExecutionOperation.Id(), 0).ExtractValueSync();
UNIT_ASSERT_C(results.IsSuccess(), results.GetIssues().ToString());
@@ -839,7 +844,7 @@ Y_UNIT_TEST_SUITE(KqpQueryService) {
UNIT_ASSERT_C(readyOp.Ready(), readyOp.Status().GetIssues().ToString());
UNIT_ASSERT(readyOp.Metadata().ExecStatus == status);
UNIT_ASSERT_EQUAL(readyOp.Metadata().ExecutionId, op.Metadata().ExecutionId);
- }
+ }
void ExecuteScriptWithSettings(const TExecuteScriptSettings& settings, EExecStatus status, TString query = "SELECT 1;") {
auto kikimr = DefaultKikimrRunner();
@@ -884,7 +889,7 @@ Y_UNIT_TEST_SUITE(KqpQueryService) {
settings = TExecuteScriptSettings().CancelAfterWithTimeout(TDuration::Seconds(100), TDuration::MilliSeconds(1));
ExecuteScriptWithSettings(settings, EExecStatus::Failed, query);
}
-
+
void CheckScriptOperationExpires(const TExecuteScriptSettings &settings) {
auto kikimr = DefaultKikimrRunner();
auto db = kikimr.GetQueryClient();
@@ -894,7 +899,7 @@ Y_UNIT_TEST_SUITE(KqpQueryService) {
)", settings).ExtractValueSync();
UNIT_ASSERT_VALUES_EQUAL_C(scriptExecutionOperation.Status().GetStatus(), EStatus::SUCCESS, scriptExecutionOperation.Status().GetIssues().ToString());
-
+
auto readyOp = WaitScriptExecutionFail(scriptExecutionOperation.Id(), kikimr.GetDriver());
UNIT_ASSERT_C(readyOp.Status().GetStatus() == EStatus::NOT_FOUND, readyOp.Status().GetStatus() << ":" << readyOp.Status().GetIssues().ToString());
diff --git a/ydb/public/sdk/cpp/client/ydb_query/query.cpp b/ydb/public/sdk/cpp/client/ydb_query/query.cpp
index bb5d7e0e27..c0d106799c 100644
--- a/ydb/public/sdk/cpp/client/ydb_query/query.cpp
+++ b/ydb/public/sdk/cpp/client/ydb_query/query.cpp
@@ -24,6 +24,7 @@ TScriptExecutionOperation::TScriptExecutionOperation(TStatus&& status, Ydb::Oper
Metadata_.ExecMode = static_cast<EExecMode>(metadata.exec_mode());
Metadata_.ExecStatus = static_cast<EExecStatus>(metadata.exec_status());
Metadata_.ExecStats = metadata.exec_stats();
+ Metadata_.ResultSetsMeta.insert(Metadata_.ResultSetsMeta.end(), metadata.result_sets_meta().begin(), metadata.result_sets_meta().end());
if (metadata.has_script_content()) {
Metadata_.ScriptContent.Syntax = static_cast<ESyntax>(metadata.script_content().syntax());
diff --git a/ydb/public/sdk/cpp/client/ydb_query/query.h b/ydb/public/sdk/cpp/client/ydb_query/query.h
index f58459afdc..d10db38ed2 100644
--- a/ydb/public/sdk/cpp/client/ydb_query/query.h
+++ b/ydb/public/sdk/cpp/client/ydb_query/query.h
@@ -181,6 +181,7 @@ public:
std::optional<TVersionedScriptId> ScriptId;
TQueryContent ScriptContent;
Ydb::TableStats::QueryStats ExecStats;
+ TVector<Ydb::Query::ResultSetMeta> ResultSetsMeta;
};
using TOperation::TOperation;