vitess-gh/proto
Sugu Sougoumarane 856a196bc6 vstreamer: rowstreamer locks the table
Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
2019-04-17 11:09:54 -07:00
..
README.md proto: Add README.md to document our required style guide. 2017-03-23 19:14:34 +01:00
automation.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
automationservice.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
binlogdata.proto vstreamer: rowstreamer locks the table 2019-04-17 11:09:54 -07:00
binlogservice.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
logutil.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
mysqlctl.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
query.proto Single round trip commit on BatchExecute 2019-03-21 15:35:46 -07:00
queryservice.proto vstreamer: VStreamRows rpc method 2019-04-17 11:04:32 -07:00
replicationdata.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
tableacl.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
tabletmanagerdata.proto allow backups on master tablet 2019-03-02 16:21:08 -08:00
tabletmanagerservice.proto #4481 rollback changes made during reparent if we encounter errors 2019-01-24 17:08:13 -08:00
throttlerdata.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
throttlerservice.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
topodata.proto Refactor region to aliases 2019-03-29 19:28:16 -07:00
vschema.proto select *: more review comments 2018-11-19 15:11:46 -08:00
vtctldata.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
vtctlservice.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
vtgate.proto update .md and .txt and .proto 2019-01-30 10:49:12 -05:00
vtgateservice.proto fix spelling mistake: conjonction -> conjunction 2019-04-17 11:59:27 +08:00
vtrpc.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
vttest.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
vtworkerdata.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
vtworkerservice.proto Upgrade golang protobuf to v1.1.0 2018-06-13 20:13:05 -07:00
workflow.proto Update workflow to include CreateTime 2018-08-24 17:32:25 -07:00

README.md

Vitess Protobuf Definitions

This directory contains all Vitess protobuf definitions.

Our protobuf messages are both used as wire format (e.g. query.proto) and for storage (e.g. topodata.proto).

RPC messages and service definitions are in separate files (e.g. vtgate.proto and vtgateservice.proto) on purpose because our internal deployment does not use gRPC.

Style Guide

Before creating new messages or services, please make yourself familiar with the style of the existing definitions first.

Additionally, new definitions must adhere to the Google Cloud API Design Guide: https://cloud.google.com/apis/design/

Comments

We are more strict than the Design Guide on the format for comments. Similar to comments for Go types or fields, protobuf comments must start with the name. For example:

// TabletAlias is a globally unique tablet identifier.
message TabletAlias {
  // cell is the cell (or datacenter) the tablet is in.
  string cell = 1;
  ...
}

Note that the Design Guide also has the following ask:

If the field value is required, input only, output only, it must be documented at the start of the field description. By default, all fields and parameters are optional.

Here's an example which combines this ask with our stricter comments style:

// ExecuteKeyspaceIdsRequest is the payload to ExecuteKeyspaceIds.
message ExecuteKeyspaceIdsRequest {
  ...
  // Required. keyspace to target the query to.
  string keyspace = 4;
  ...
}

Note that most of our existing files (as of March 2017) do not have e.g. "Required." comments. Nonetheless, new files should follow this where applicable.