diff options
author | hcpp <hcpp@ydb.tech> | 2023-07-13 11:55:31 +0300 |
---|---|---|
committer | hcpp <hcpp@ydb.tech> | 2023-07-13 11:55:31 +0300 |
commit | 589e557e0cd851dce2875618f069c3e25e9dcc3b (patch) | |
tree | 4f28f71868c5c2e7adcf607a1edbbdd7dfb54702 | |
parent | bd63620347abff176fdc0c9bae4919c4d684b29c (diff) | |
download | ydb-589e557e0cd851dce2875618f069c3e25e9dcc3b.tar.gz |
result sets meta has been supported for sdk
-rw-r--r-- | ydb/core/kqp/ut/service/kqp_query_service_ut.cpp | 11 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_query/query.cpp | 1 | ||||
-rw-r--r-- | ydb/public/sdk/cpp/client/ydb_query/query.h | 1 |
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; |