diff options
author | dinmukhammed <dinmukhammed@yandex-team.ru> | 2022-02-22 15:06:53 +0300 |
---|---|---|
committer | dinmukhammed <dinmukhammed@yandex-team.ru> | 2022-02-22 15:06:53 +0300 |
commit | 7d32d59535c3c2cafd4f033fdabfd43b99049a24 (patch) | |
tree | 85ea245ea03727761dc440310ecb2cc79376ba15 | |
parent | f6b78eb5751d690e47a4d0ec9ee28f44b35cddd8 (diff) | |
download | ydb-7d32d59535c3c2cafd4f033fdabfd43b99049a24.tar.gz |
YQ-866 Save ast and plan even if compilation failed
Save ast and plan
ref:6bacf5aa0cf138a98a73e3de261d675f9c90a08c
-rw-r--r-- | ydb/core/yq/libs/actors/run_actor.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/ydb/core/yq/libs/actors/run_actor.cpp b/ydb/core/yq/libs/actors/run_actor.cpp index 2643150d88..eb374c6622 100644 --- a/ydb/core/yq/libs/actors/run_actor.cpp +++ b/ydb/core/yq/libs/actors/run_actor.cpp @@ -480,10 +480,7 @@ private: return count; } - void PrepareGraphs() { - if (AbortOnExceedingDqGraphsLimits()) { - return; - } + void UpdateAstAndPlan() { Yq::Private::PingTaskRequest request; TStringStream exprOut; @@ -493,6 +490,16 @@ private: request.set_ast(exprOut.Str()); request.set_plan(planStr); + Send(Pinger, new TEvents::TEvForwardPingRequest(request)); + } + + void PrepareGraphs() { + if (AbortOnExceedingDqGraphsLimits()) { + return; + } + + Yq::Private::PingTaskRequest request; + request.set_result_set_count(UpdateResultIndices()); QueryStateUpdateRequest.set_result_set_count(UpdateResultIndices()); for (const auto& graphParams : DqGraphParams) { @@ -1206,6 +1213,8 @@ private: Issues.AddIssue(ExceptionToIssue(err)); } + UpdateAstAndPlan(); + if (status == TProgram::TStatus::Ok || (DqGraphParams.size() > 0 && !DqGraphParams[0].GetResultType())) { PrepareGraphs(); } else { |