diff options
author | brgayazov <bulat@ydb.tech> | 2023-02-09 14:55:21 +0300 |
---|---|---|
committer | brgayazov <bulat@ydb.tech> | 2023-02-09 14:55:21 +0300 |
commit | fb75ba7e0bbdcdb7ef80a420b4a81c8acfd22699 (patch) | |
tree | 594306d34ffd5b1d71ed6e993dd39cfbe096ef78 | |
parent | 4d37d96d8ef636053397300d4f942e95c9dc71f9 (diff) | |
download | ydb-fb75ba7e0bbdcdb7ef80a420b4a81c8acfd22699.tar.gz |
Fix bad retry operation and wrong exception
-rw-r--r-- | ydb/public/lib/ydb_cli/commands/ydb_service_table.cpp | 5 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/common/parameters.cpp | 9 |
2 files changed, 10 insertions, 4 deletions
diff --git a/ydb/public/lib/ydb_cli/commands/ydb_service_table.cpp b/ydb/public/lib/ydb_cli/commands/ydb_service_table.cpp index 25d37d8986d..e6373e751f3 100644 --- a/ydb/public/lib/ydb_cli/commands/ydb_service_table.cpp +++ b/ydb/public/lib/ydb_cli/commands/ydb_service_table.cpp @@ -445,13 +445,14 @@ int TCommandExecuteQuery::ExecuteDataQuery(TConfig& config) { if (!Parameters.empty() || !IsStdinInteractive()) { THolder<TParamsBuilder> paramBuilder; while (GetNextParams(ValidateResult->GetParameterTypes(), InputFormat, StdinFormat, FramingFormat, paramBuilder)) { - auto operation = [this, &txSettings, ¶mBuilder, &settings, &asyncResult](NTable::TSession session) { + TParams params = paramBuilder->Build(); + auto operation = [this, &txSettings, ¶ms, &settings, &asyncResult](NTable::TSession session) { auto promise = NThreading::NewPromise<NTable::TDataQueryResult>(); asyncResult = promise.GetFuture(); auto result = session.ExecuteDataQuery( Query, NTable::TTxControl::BeginTx(txSettings).CommitTx(), - paramBuilder->Build(), + params, FillSettings(settings) ); return result.Apply([promise](const NTable::TAsyncDataQueryResult& result) mutable { diff --git a/ydb/public/lib/ydb_cli/common/parameters.cpp b/ydb/public/lib/ydb_cli/common/parameters.cpp index a2425662a9d..c230da7b903 100644 --- a/ydb/public/lib/ydb_cli/common/parameters.cpp +++ b/ydb/public/lib/ydb_cli/common/parameters.cpp @@ -238,8 +238,13 @@ bool TCommandWithParameters::GetNextParams(const std::map<TString, TType>& param return false; } - if (StdinParameters.size() != 1) { - throw TMisuseException() << "Only one stdin parameter allowed in \"full\" batch mode."; + if (StdinParameters.size() > 1) { + throw TMisuseException() << "Only one stdin parameter allowed in \"" + << BatchMode << "\" batch mode."; + } + if (StdinParameters.empty()) { + throw TMisuseException() << "An stdin parameter name must be specified in \"" + << BatchMode << "\" batch mode."; } TString name = StdinParameters.front(); TString fullname = "$" + name; |