aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgalaxycrab <UgnineSirdis@ydb.tech>2023-07-24 13:08:13 +0300
committergalaxycrab <UgnineSirdis@ydb.tech>2023-07-24 13:08:13 +0300
commit8e9b187a00d40b1cd9ef46953fbff821c7f4869e (patch)
treea466980e14537982a8d2ced7d80ef5f4f42a92ad
parent17c4bafd1ceef077f18d709106abf746aead4267 (diff)
downloadydb-8e9b187a00d40b1cd9ef46953fbff821c7f4869e.tar.gz
KIKIMR-18676 Remove unused fields in QueryService API
-rw-r--r--ydb/core/grpc_services/query/rpc_execute_script.cpp23
-rw-r--r--ydb/core/grpc_services/query/rpc_fetch_script_results.cpp2
-rw-r--r--ydb/core/kqp/proxy_service/kqp_script_executions.cpp42
-rw-r--r--ydb/core/protos/kqp.proto4
-rw-r--r--ydb/public/api/grpc/ydb_query_v1.proto9
-rw-r--r--ydb/public/api/protos/ydb_query.proto85
-rw-r--r--ydb/public/sdk/cpp/client/ydb_query/client.cpp8
-rw-r--r--ydb/public/sdk/cpp/client/ydb_query/client.h2
-rw-r--r--ydb/public/sdk/cpp/client/ydb_query/query.cpp3
-rw-r--r--ydb/public/sdk/cpp/client/ydb_query/query.h26
10 files changed, 47 insertions, 157 deletions
diff --git a/ydb/core/grpc_services/query/rpc_execute_script.cpp b/ydb/core/grpc_services/query/rpc_execute_script.cpp
index 091d70b9e9c..1e1c32bcd2e 100644
--- a/ydb/core/grpc_services/query/rpc_execute_script.cpp
+++ b/ydb/core/grpc_services/query/rpc_execute_script.cpp
@@ -23,25 +23,12 @@ using TEvExecuteScriptRequest = TGrpcRequestNoOperationCall<Ydb::Query::ExecuteS
bool FillQueryContent(const Ydb::Query::ExecuteScriptRequest& req, NKikimrKqp::TEvQueryRequest& kqpRequest,
NYql::TIssues& issues)
{
- switch (req.script_case()) {
- case Ydb::Query::ExecuteScriptRequest::kScriptContent:
- if (!CheckQuery(req.script_content().text(), issues)) {
- return false;
- }
-
- kqpRequest.MutableRequest()->SetQuery(req.script_content().text());
- return true;
-
- case Ydb::Query::ExecuteScriptRequest::kScriptId:
- issues.AddIssue(MakeIssue(NKikimrIssues::TIssuesIds::DEFAULT_ERROR,
- "Execution by script id is not supported yet"));
- return false;
-
- default:
- issues.AddIssue(MakeIssue(NKikimrIssues::TIssuesIds::DEFAULT_ERROR,
- "Unexpected query option"));
- return false;
+ if (!CheckQuery(req.script_content().text(), issues)) {
+ return false;
}
+
+ kqpRequest.MutableRequest()->SetQuery(req.script_content().text());
+ return true;
}
std::tuple<Ydb::StatusIds::StatusCode, NYql::TIssues> FillKqpRequest(
diff --git a/ydb/core/grpc_services/query/rpc_fetch_script_results.cpp b/ydb/core/grpc_services/query/rpc_fetch_script_results.cpp
index 3cf59b683e4..040f82b26ac 100644
--- a/ydb/core/grpc_services/query/rpc_fetch_script_results.cpp
+++ b/ydb/core/grpc_services/query/rpc_fetch_script_results.cpp
@@ -70,7 +70,7 @@ public:
return;
}
- Register(NKqp::CreateGetScriptExecutionResultActor(SelfId(), DatabaseName, ExecutionId, req->result_set_id(), RowsOffset, req->rows_limit() + 1));
+ Register(NKqp::CreateGetScriptExecutionResultActor(SelfId(), DatabaseName, ExecutionId, req->result_set_index(), RowsOffset, req->rows_limit() + 1));
Become(&TFetchScriptResultsRPC::StateFunc);
}
diff --git a/ydb/core/kqp/proxy_service/kqp_script_executions.cpp b/ydb/core/kqp/proxy_service/kqp_script_executions.cpp
index 4c54a4177d9..b5f1620ce39 100644
--- a/ydb/core/kqp/proxy_service/kqp_script_executions.cpp
+++ b/ydb/core/kqp/proxy_service/kqp_script_executions.cpp
@@ -804,7 +804,7 @@ public:
WHERE database = $database AND execution_id = $execution_id;
UPDATE `.metadata/result_sets`
- SET
+ SET
expire_at = CurrentUtcTimestamp() + $results_ttl
where database = $database AND execution_id = $execution_id;
)";
@@ -879,7 +879,7 @@ TMaybe<std::pair<TDuration, TDuration>> GetTtlFromSerializedMeta(const TString&
} catch (NJson::TJsonException &e) {
return Nothing();
}
-}
+}
class TScriptExecutionFinisher : public TScriptExecutionFinisherBase {
public:
@@ -972,7 +972,7 @@ public:
}
const auto [operationTtl, resultsTtl] = *ttl;
- FinishScriptExecution(Database, ExecutionId, OperationStatus, ExecStatus, operationTtl, resultsTtl,
+ FinishScriptExecution(Database, ExecutionId, OperationStatus, ExecStatus, operationTtl, resultsTtl,
Issues, TTxControl::ContinueAndCommitTx(), std::move(QueryStats), std::move(QueryPlan), std::move(QueryAst));
FinishWasRun = true;
} else {
@@ -1015,7 +1015,7 @@ public:
DECLARE $execution_id AS Text;
SELECT operation_status, execution_status, issues, run_script_actor_id, meta FROM `.metadata/script_executions`
- WHERE database = $database AND execution_id = $execution_id AND
+ WHERE database = $database AND execution_id = $execution_id AND
(expire_at > CurrentUtcTimestamp() OR expire_at IS NULL);
SELECT lease_deadline FROM `.metadata/script_execution_leases`
@@ -1075,8 +1075,8 @@ public:
} else if (*leaseDeadline < RunStartTime) {
auto serializedMeta = result.ColumnParser("meta").GetOptionalJsonDocument();
if (!serializedMeta) {
- Finish(Ydb::StatusIds::INTERNAL_ERROR, "Missing opeartion metainformation");
- return;
+ Finish(Ydb::StatusIds::INTERNAL_ERROR, "Missing opeartion metainformation");
+ return;
}
const auto ttl = GetTtlFromSerializedMeta(*serializedMeta);
if (!ttl) {
@@ -1279,7 +1279,7 @@ public:
plan,
issues,
stats,
- ast,
+ ast,
meta
FROM `.metadata/script_executions`
WHERE database = $database AND execution_id = $execution_id AND
@@ -1993,11 +1993,11 @@ private:
class TGetScriptExecutionResultQuery : public TQueryBase {
public:
- TGetScriptExecutionResultQuery(const TString& database, const TString& executionId, i32 resultSetId, i64 offset, i64 limit)
- : Database(database), ExecutionId(executionId), ResultSetId(resultSetId), Offset(offset), Limit(limit)
+ TGetScriptExecutionResultQuery(const TString& database, const TString& executionId, i32 resultSetIndex, i64 offset, i64 limit)
+ : Database(database), ExecutionId(executionId), ResultSetIndex(resultSetIndex), Offset(offset), Limit(limit)
{
Response = MakeHolder<TEvKqp::TEvFetchScriptResultsResponse>();
- Response->Record.SetResultSetIndex(ResultSetId);
+ Response->Record.SetResultSetIndex(ResultSetIndex);
}
void OnRunQuery() override {
@@ -2011,7 +2011,7 @@ public:
SELECT result_set_metas, operation_status, issues, end_ts, meta
FROM `.metadata/script_executions`
- WHERE database = $database
+ WHERE database = $database
AND execution_id = $execution_id
AND (expire_at > CurrentUtcTimestamp() OR expire_at IS NULL);
@@ -2034,7 +2034,7 @@ public:
.Utf8(ExecutionId)
.Build()
.AddParam("$result_set_id")
- .Int32(ResultSetId)
+ .Int32(ResultSetIndex)
.Build()
.AddParam("$offset")
.Int64(Offset)
@@ -2113,11 +2113,11 @@ public:
}
const NJson::TJsonValue* metaValue;
- if (!value.GetValuePointer(ResultSetId, &metaValue)) {
+ if (!value.GetValuePointer(ResultSetIndex, &metaValue)) {
Finish(Ydb::StatusIds::BAD_REQUEST, "Result set index is invalid");
return;
}
-
+
Ydb::Query::ResultSetMeta meta;
NProtobufJson::Json2Proto(*metaValue, meta);
@@ -2160,7 +2160,7 @@ public:
private:
const TString Database;
const TString ExecutionId;
- const i32 ResultSetId;
+ const i32 ResultSetIndex;
const i64 Offset;
const i64 Limit;
THolder<TEvKqp::TEvFetchScriptResultsResponse> Response;
@@ -2168,13 +2168,13 @@ private:
class TGetScriptExecutionResultActor : public TActorBootstrapped<TGetScriptExecutionResultActor> {
public:
- TGetScriptExecutionResultActor(const NActors::TActorId& replyActorId, const TString& database, const TString& executionId, i32 resultSetId, i64 offset, i64 limit)
- : ReplyActorId(replyActorId), Database(database), ExecutionId(executionId), ResultSetId(resultSetId), Offset(offset), Limit(limit)
+ TGetScriptExecutionResultActor(const NActors::TActorId& replyActorId, const TString& database, const TString& executionId, i32 resultSetIndex, i64 offset, i64 limit)
+ : ReplyActorId(replyActorId), Database(database), ExecutionId(executionId), ResultSetIndex(resultSetIndex), Offset(offset), Limit(limit)
{
}
void Bootstrap() {
- Register(new TGetScriptExecutionResultQuery(Database, ExecutionId, ResultSetId, Offset, Limit));
+ Register(new TGetScriptExecutionResultQuery(Database, ExecutionId, ResultSetIndex, Offset, Limit));
Become(&TGetScriptExecutionResultActor::StateFunc);
}
@@ -2192,7 +2192,7 @@ private:
const NActors::TActorId ReplyActorId;
const TString Database;
const TString ExecutionId;
- const i32 ResultSetId;
+ const i32 ResultSetIndex;
const i64 Offset;
const i64 Limit;
};
@@ -2250,8 +2250,8 @@ NActors::IActor* CreateSaveScriptExecutionResultActor(const NActors::TActorId& r
return new TSaveScriptExecutionResultActor(replyActorId, database, executionId, resultSetId, expireAt, firstRow, std::move(serializedRows));
}
-NActors::IActor* CreateGetScriptExecutionResultActor(const NActors::TActorId& replyActorId, const TString& database, const TString& executionId, i32 resultSetId, i64 offset, i64 limit) {
- return new TGetScriptExecutionResultActor(replyActorId, database, executionId, resultSetId, offset, limit);
+NActors::IActor* CreateGetScriptExecutionResultActor(const NActors::TActorId& replyActorId, const TString& database, const TString& executionId, i32 resultSetIndex, i64 offset, i64 limit) {
+ return new TGetScriptExecutionResultActor(replyActorId, database, executionId, resultSetIndex, offset, limit);
}
namespace NPrivate {
diff --git a/ydb/core/protos/kqp.proto b/ydb/core/protos/kqp.proto
index 14cca0f988c..bb66101735b 100644
--- a/ydb/core/protos/kqp.proto
+++ b/ydb/core/protos/kqp.proto
@@ -635,7 +635,7 @@ message TKqpSequencerSettings {
}
message TEvFetchScriptResultsRequest {
- optional uint64 ResultSetId = 3;
+ optional uint64 ResultSetIndex = 3;
optional uint64 RowsOffset = 1;
optional uint64 RowsLimit = 2;
}
@@ -671,4 +671,4 @@ message TEvCancelScriptExecutionResponse {
message TScriptExecutionOperationMeta {
optional google.protobuf.Duration OperationTtl = 1;
optional google.protobuf.Duration ResultsTtl = 2;
-} \ No newline at end of file
+}
diff --git a/ydb/public/api/grpc/ydb_query_v1.proto b/ydb/public/api/grpc/ydb_query_v1.proto
index f846b54fb08..cdf6054a40e 100644
--- a/ydb/public/api/grpc/ydb_query_v1.proto
+++ b/ydb/public/api/grpc/ydb_query_v1.proto
@@ -54,13 +54,4 @@ service QueryService {
// For persistent scripts, you can fetch results in specific position of specific result set using
// position instead of fetch_token.
rpc FetchScriptResults(Query.FetchScriptResultsRequest) returns (Query.FetchScriptResultsResponse);
-
- // Persistently save script content in DB.
- rpc SaveScript(Query.SaveScriptRequest) returns (Query.SaveScriptResponse);
-
- // List saved scripts in DB.
- rpc ListScripts(Query.ListScriptsRequest) returns (Query.ListScriptsResponse);
-
- // Delete saved script by id.
- rpc DeleteScript(Query.DeleteScriptRequest) returns (Query.DeleteScriptResponse);
}
diff --git a/ydb/public/api/protos/ydb_query.proto b/ydb/public/api/protos/ydb_query.proto
index 2aee0799def..0c772e05a16 100644
--- a/ydb/public/api/protos/ydb_query.proto
+++ b/ydb/public/api/protos/ydb_query.proto
@@ -185,46 +185,24 @@ message ExecuteQueryResponsePart {
// Result set part
Ydb.ResultSet result_set = 4;
- reserved 5; // tx_meta
- reserved 6; // result_sets_meta
-
// Execution statistics (last part only)
- Ydb.TableStats.QueryStats exec_stats = 7;
-}
-
-message VersionedScriptId {
- // Script id
- string id = 1 [(Ydb.length).le = 1024];
-
- // Script revision.
- // If specified in method parameters, the real script revision
- // before modification will be compared with this revision
- // and request will be cancelled if they don't match.
- int64 revision = 2 [(Ydb.value) = ">= 0"];
+ Ydb.TableStats.QueryStats exec_stats = 5;
}
message ExecuteScriptRequest {
Ydb.Operations.OperationParams operation_params = 1;
- // Session identifier. If empty, implicit session is created for script execution.
- string session_id = 2 [(Ydb.length).le = 1024];
- ExecMode exec_mode = 3;
+ ExecMode exec_mode = 2;
- oneof script {
- QueryContent script_content = 4;
- VersionedScriptId script_id = 5;
- }
+ QueryContent script_content = 3;
- map<string, TypedValue> parameters = 6;
+ map<string, TypedValue> parameters = 4;
- bool persistent = 7; // TODO: Persistent execution / persistent results?
- string execution_name = 8 [(Ydb.length).le = 1024];
- StatsMode stats_mode = 9;
- map<string, string> attributes = 10 [(map_key).length.range = {min: 1, max: 100}, (length).range = {min: 1, max: 4096}];
+ StatsMode stats_mode = 5;
// After script execution operation finishes, TTL will start counting.
// After this TTL the results will be removed from database.
- google.protobuf.Duration results_ttl = 11;
+ google.protobuf.Duration results_ttl = 6;
}
enum ExecStatus {
@@ -241,22 +219,20 @@ message ExecuteScriptMetadata {
ExecStatus exec_status = 2;
QueryContent script_content = 3;
- VersionedScriptId script_id = 4;
- map<string, string> attributes = 5 [(map_key).length.range = {min: 1, max: 100}, (length).range = {min: 1, max: 4096}];
- repeated ResultSetMeta result_sets_meta = 6;
+ repeated ResultSetMeta result_sets_meta = 4;
- ExecMode exec_mode = 7;
+ ExecMode exec_mode = 5;
// Execution statistics
- Ydb.TableStats.QueryStats exec_stats = 8;
+ Ydb.TableStats.QueryStats exec_stats = 6;
}
message FetchScriptResultsRequest {
- string operation_id = 5 [(Ydb.length).le = 1024];
+ string operation_id = 1 [(Ydb.length).le = 1024];
- int64 result_set_id = 6;
+ int64 result_set_index = 2;
- string fetch_token = 2 [(Ydb.length).le = 1024];
+ string fetch_token = 3 [(Ydb.length).le = 1024];
int64 rows_limit = 4 [(Ydb.value) = ">= 0"];
}
@@ -271,40 +247,5 @@ message FetchScriptResultsResponse {
}
message Script {
- VersionedScriptId script_id = 1;
- QueryContent script_content = 2;
-}
-
-message SaveScriptRequest {
- VersionedScriptId script_id = 1; // If specified, set new content to existing script
- QueryContent script_content = 2;
-}
-
-message SaveScriptResponse {
- StatusIds.StatusCode status = 1;
- repeated Ydb.Issue.IssueMessage issues = 2;
-
- VersionedScriptId script_id = 3;
-}
-
-message ListScriptsRequest {
- string page_token = 1 [(Ydb.length).le = 1024];
- int64 page_size = 2 [(Ydb.value) = ">= 0"];
-}
-
-message ListScriptsResponse {
- StatusIds.StatusCode status = 1;
- repeated Ydb.Issue.IssueMessage issues = 2;
-
- repeated Script scripts = 3;
- string next_page_token = 4 [(Ydb.length).le = 1024];
-}
-
-message DeleteScriptRequest {
- VersionedScriptId script_id = 1;
-}
-
-message DeleteScriptResponse {
- StatusIds.StatusCode status = 1;
- repeated Ydb.Issue.IssueMessage issues = 2;
+ QueryContent script_content = 1;
}
diff --git a/ydb/public/sdk/cpp/client/ydb_query/client.cpp b/ydb/public/sdk/cpp/client/ydb_query/client.cpp
index 8bb7ab73e78..253e14bc425 100644
--- a/ydb/public/sdk/cpp/client/ydb_query/client.cpp
+++ b/ydb/public/sdk/cpp/client/ydb_query/client.cpp
@@ -72,10 +72,10 @@ public:
return promise.GetFuture();
}
- TAsyncFetchScriptResultsResult FetchScriptResults(const NKikimr::NOperationId::TOperationId& operationId, int64_t resultSetId, const TFetchScriptResultsSettings& settings) {
+ TAsyncFetchScriptResultsResult FetchScriptResults(const NKikimr::NOperationId::TOperationId& operationId, int64_t resultSetIndex, const TFetchScriptResultsSettings& settings) {
auto request = MakeRequest<Ydb::Query::FetchScriptResultsRequest>();
request.set_operation_id(NKikimr::NOperationId::ProtoToString(operationId));
- request.set_result_set_id(resultSetId);
+ request.set_result_set_index(resultSetIndex);
return FetchScriptResultsImpl(std::move(request), settings);
}
@@ -167,10 +167,10 @@ NThreading::TFuture<TScriptExecutionOperation> TQueryClient::ExecuteScript(const
return Impl_->ExecuteScript(script, settings);
}
-TAsyncFetchScriptResultsResult TQueryClient::FetchScriptResults(const NKikimr::NOperationId::TOperationId& operationId, int64_t resultSetId,
+TAsyncFetchScriptResultsResult TQueryClient::FetchScriptResults(const NKikimr::NOperationId::TOperationId& operationId, int64_t resultSetIndex,
const TFetchScriptResultsSettings& settings)
{
- return Impl_->FetchScriptResults(operationId, resultSetId, settings);
+ return Impl_->FetchScriptResults(operationId, resultSetIndex, settings);
}
} // namespace NYdb::NQuery
diff --git a/ydb/public/sdk/cpp/client/ydb_query/client.h b/ydb/public/sdk/cpp/client/ydb_query/client.h
index e927289e2c3..7e823825e27 100644
--- a/ydb/public/sdk/cpp/client/ydb_query/client.h
+++ b/ydb/public/sdk/cpp/client/ydb_query/client.h
@@ -42,7 +42,7 @@ public:
NThreading::TFuture<TScriptExecutionOperation> ExecuteScript(const TString& script,
const TExecuteScriptSettings& settings = TExecuteScriptSettings());
- TAsyncFetchScriptResultsResult FetchScriptResults(const NKikimr::NOperationId::TOperationId& operationId, int64_t resultSetId,
+ TAsyncFetchScriptResultsResult FetchScriptResults(const NKikimr::NOperationId::TOperationId& operationId, int64_t resultSetIndex,
const TFetchScriptResultsSettings& settings = TFetchScriptResultsSettings());
private:
diff --git a/ydb/public/sdk/cpp/client/ydb_query/query.cpp b/ydb/public/sdk/cpp/client/ydb_query/query.cpp
index c0d106799c8..7da774d5e72 100644
--- a/ydb/public/sdk/cpp/client/ydb_query/query.cpp
+++ b/ydb/public/sdk/cpp/client/ydb_query/query.cpp
@@ -30,9 +30,6 @@ TScriptExecutionOperation::TScriptExecutionOperation(TStatus&& status, Ydb::Oper
Metadata_.ScriptContent.Syntax = static_cast<ESyntax>(metadata.script_content().syntax());
Metadata_.ScriptContent.Text = metadata.script_content().text();
}
- if (metadata.has_script_id()) {
- Metadata_.ScriptId = TVersionedScriptId(metadata.script_id().id(), metadata.script_id().revision());
- }
}
} // namespace NYdb::NQuery
diff --git a/ydb/public/sdk/cpp/client/ydb_query/query.h b/ydb/public/sdk/cpp/client/ydb_query/query.h
index d10db38ed2c..95b9e6ccdb9 100644
--- a/ydb/public/sdk/cpp/client/ydb_query/query.h
+++ b/ydb/public/sdk/cpp/client/ydb_query/query.h
@@ -133,30 +133,6 @@ struct TExecuteScriptSettings : public TOperationRequestSettings<TExecuteScriptS
FLUENT_SETTING(TDuration, ResultsTtl);
};
-class TVersionedScriptId {
-public:
- TVersionedScriptId(const TString& id, TMaybe<i64> revision = Nothing())
- : Id_(id)
- , Revision_(revision)
- {}
-
- const TString& Id() const {
- return Id_;
- }
-
- TMaybe<i64> Revision() const {
- return Revision_;
- }
-
- void SetRevision(i64 revision) {
- Revision_ = revision;
- }
-
-private:
- TString Id_;
- TMaybe<i64> Revision_;
-};
-
class TQueryContent {
public:
TQueryContent() = default;
@@ -177,8 +153,6 @@ public:
EExecStatus ExecStatus = EExecStatus::Unspecified;
EExecMode ExecMode = EExecMode::Unspecified;
- // Not greater than one of SavedScriptId or QueryContent is set.
- std::optional<TVersionedScriptId> ScriptId;
TQueryContent ScriptContent;
Ydb::TableStats::QueryStats ExecStats;
TVector<Ydb::Query::ResultSetMeta> ResultSetsMeta;