vitess.io/vitess@v0.16.2/proto/queryservice.proto (about)

     1  /*
     2  Copyright 2019 The Vitess Authors.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  // This file contains the service VtTablet exposes for queries.
    18  
    19  syntax = "proto3";
    20  
    21  package queryservice;
    22  option go_package = "vitess.io/vitess/go/vt/proto/queryservice";
    23  
    24  import "query.proto";
    25  import "binlogdata.proto";
    26  
    27  // Query defines the tablet query service, implemented by vttablet.
    28  service Query {
    29    // Execute executes the specified SQL query (might be in a
    30    // transaction context, if Query.transaction_id is set).
    31    rpc Execute(query.ExecuteRequest) returns (query.ExecuteResponse) {};
    32  
    33    // StreamExecute executes a streaming query. Use this method if the
    34    // query returns a large number of rows. The first QueryResult will
    35    // contain the Fields, subsequent QueryResult messages will contain
    36    // the rows.
    37    rpc StreamExecute(query.StreamExecuteRequest) returns (stream query.StreamExecuteResponse) {};
    38  
    39    // Begin a transaction.
    40    rpc Begin(query.BeginRequest) returns (query.BeginResponse) {};
    41  
    42    // Commit a transaction.
    43    rpc Commit(query.CommitRequest) returns (query.CommitResponse) {};
    44  
    45    // Rollback a transaction.
    46    rpc Rollback(query.RollbackRequest) returns (query.RollbackResponse) {};
    47  
    48    // Prepare preares a transaction.
    49    rpc Prepare(query.PrepareRequest) returns (query.PrepareResponse) {};
    50  
    51    // CommitPrepared commits a prepared transaction.
    52    rpc CommitPrepared(query.CommitPreparedRequest) returns (query.CommitPreparedResponse) {};
    53  
    54    // RollbackPrepared rolls back a prepared transaction.
    55    rpc RollbackPrepared(query.RollbackPreparedRequest) returns (query.RollbackPreparedResponse) {};
    56  
    57    // CreateTransaction creates the metadata for a 2pc transaction.
    58    rpc CreateTransaction(query.CreateTransactionRequest) returns (query.CreateTransactionResponse) {};
    59  
    60    // StartCommit initiates a commit for a 2pc transaction.
    61    rpc StartCommit(query.StartCommitRequest) returns (query.StartCommitResponse) {};
    62  
    63    // SetRollback marks the 2pc transaction for rollback.
    64    rpc SetRollback(query.SetRollbackRequest) returns (query.SetRollbackResponse) {};
    65  
    66    // ConcludeTransaction marks the 2pc transaction as resolved.
    67    rpc ConcludeTransaction(query.ConcludeTransactionRequest) returns (query.ConcludeTransactionResponse) {};
    68  
    69    // ReadTransaction returns the 2pc transaction info.
    70    rpc ReadTransaction(query.ReadTransactionRequest) returns (query.ReadTransactionResponse) {};
    71  
    72    // BeginExecute executes a begin and the specified SQL query.
    73    rpc BeginExecute(query.BeginExecuteRequest) returns (query.BeginExecuteResponse) {};
    74  
    75    // BeginStreamExecute executes a begin and the specified SQL query.
    76    rpc BeginStreamExecute(query.BeginStreamExecuteRequest) returns (stream query.BeginStreamExecuteResponse) {};
    77  
    78    // MessageStream streams messages from a message table.
    79    rpc MessageStream(query.MessageStreamRequest) returns (stream query.MessageStreamResponse) {};
    80  
    81    // MessageAck acks messages for a table.
    82    rpc MessageAck(query.MessageAckRequest) returns (query.MessageAckResponse) {};
    83  
    84    // ReserveExecute executes a query on a reserved connection
    85    rpc ReserveExecute(query.ReserveExecuteRequest) returns (query.ReserveExecuteResponse) {};
    86  
    87    // ReserveBeginExecute starts a transaction and executes a query in the transaction on a reserved connection
    88    rpc ReserveBeginExecute(query.ReserveBeginExecuteRequest) returns (query.ReserveBeginExecuteResponse) {};
    89  
    90    // ReserveStreamExecute executes a streaming query on a reserved connection
    91    rpc ReserveStreamExecute(query.ReserveStreamExecuteRequest) returns (stream query.ReserveStreamExecuteResponse) {};
    92  
    93    // ReserveBeginStreamExecute starts a transaction and executes a streaming query in the transaction on a reserved connection
    94    rpc ReserveBeginStreamExecute(query.ReserveBeginStreamExecuteRequest) returns (stream query.ReserveBeginStreamExecuteResponse) {};
    95  
    96    // Release releases the connection
    97    rpc Release(query.ReleaseRequest) returns (query.ReleaseResponse) {};
    98  
    99    // StreamHealth runs a streaming RPC to the tablet, that returns the
   100    // current health of the tablet on a regular basis.
   101    rpc StreamHealth(query.StreamHealthRequest) returns (stream query.StreamHealthResponse) {};
   102  
   103    // VStream streams vreplication events.
   104    rpc VStream(binlogdata.VStreamRequest) returns (stream binlogdata.VStreamResponse) {};
   105  
   106    // VStreamRows streams rows from the specified starting point.
   107    rpc VStreamRows(binlogdata.VStreamRowsRequest) returns (stream binlogdata.VStreamRowsResponse) {};
   108  
   109    // VStreamResults streams results along with the gtid of the snapshot.
   110    rpc VStreamResults(binlogdata.VStreamResultsRequest) returns (stream binlogdata.VStreamResultsResponse) {};
   111  
   112    // GetSchema returns the schema information.
   113    rpc GetSchema(query.GetSchemaRequest) returns (stream query.GetSchemaResponse) {};
   114  }