зеркало из https://github.com/github/vitess-gh.git
66 строки
2.7 KiB
Protocol Buffer
66 строки
2.7 KiB
Protocol Buffer
/*
|
|
Copyright 2019 The Vitess Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
// Service definition for vtgateservice.
|
|
// This is the main entry point to Vitess.
|
|
|
|
syntax = "proto3";
|
|
option go_package = "vitess.io/vitess/go/vt/proto/vtgateservice";
|
|
|
|
option java_package="io.vitess.proto.grpc";
|
|
|
|
package vtgateservice;
|
|
|
|
import "vtgate.proto";
|
|
|
|
// Vitess is the main service to access a Vitess cluster. It is the API that vtgate
|
|
// exposes to serve all queries.
|
|
service Vitess {
|
|
// Execute tries to route the query to the right shard.
|
|
// It depends on the query and bind variables to provide enough
|
|
// information in conjunction with the vindexes to route the query.
|
|
// API group: v3
|
|
rpc Execute(vtgate.ExecuteRequest) returns (vtgate.ExecuteResponse) {};
|
|
|
|
// ExecuteBatch tries to route the list of queries on the right shards.
|
|
// It depends on the query and bind variables to provide enough
|
|
// information in conjunction with the vindexes to route the query.
|
|
// API group: v3
|
|
rpc ExecuteBatch(vtgate.ExecuteBatchRequest) returns (vtgate.ExecuteBatchResponse) {};
|
|
|
|
// StreamExecute executes a streaming query based on shards.
|
|
// It depends on the query and bind variables to provide enough
|
|
// information in conjunction with the vindexes to route the query.
|
|
// Use this method if the query returns a large number of rows.
|
|
// API group: v3
|
|
rpc StreamExecute(vtgate.StreamExecuteRequest) returns (stream vtgate.StreamExecuteResponse) {};
|
|
|
|
// ResolveTransaction resolves a transaction.
|
|
// API group: Transactions
|
|
rpc ResolveTransaction(vtgate.ResolveTransactionRequest) returns (vtgate.ResolveTransactionResponse) {};
|
|
|
|
// VStream streams binlog events from the requested sources.
|
|
rpc VStream(vtgate.VStreamRequest) returns (stream vtgate.VStreamResponse) {};
|
|
|
|
// Prepare is used by the MySQL server plugin as part of supporting prepared statements.
|
|
rpc Prepare(vtgate.PrepareRequest) returns (vtgate.PrepareResponse) {};
|
|
|
|
// CloseSession closes the session, rolling back any implicit transactions.
|
|
// This has the same effect as if a "rollback" statement was executed,
|
|
// but does not affect the query statistics.
|
|
rpc CloseSession(vtgate.CloseSessionRequest) returns (vtgate.CloseSessionResponse) {};
|
|
}
|