Get desktop application:
View/edit binary Protocol Buffers messages
Autoincrement is used to designate a column as auto-inc.
Used in:
The sequence must match a table of type SEQUENCE.
Column describes a column.
Used in:
ColumnVindex is used to associate a column to a vindex.
Used in:
Legacy implementation, moving forward all vindexes should define a list of columns.
The name must match a vindex defined in Keyspace.
List of columns that define this Vindex
Keyspace is the vschema for a keyspace.
Used in:
, , , ,If sharded is false, vindexes and tables are ignored.
If require_explicit_routing is true, vindexes and tables are not added to global routing
RoutingRule specifies a routing rule.
Used in:
RoutingRules specify the high level routing rules for the VSchema.
Used in:
, , ,rules should ideally be a map. However protos dont't allow repeated fields as elements of a map. So, we use a list instead.
RoutingRule specifies a routing rule.
Used in:
ShardRoutingRules specify the shard routing rules for the VSchema.
Used in:
, ,SrvVSchema is the roll-up of all the Keyspace schema for a cell.
Used in:
, ,keyspaces is a map of keyspace name -> Keyspace object.
table routing rules
Table is the table info for a Keyspace.
Used in:
If the table is a sequence, type must be "sequence". If the table is a reference, type must be "reference". See https://vitess.io/docs/reference/features/vschema/#reference-tables. Otherwise, it should be empty.
column_vindexes associates columns to vindexes.
auto_increment is specified if a column needs to be associated with a sequence.
columns lists the columns for the table.
pinned pins an unsharded table to a specific shard, as dictated by the keyspace id. The keyspace id is represented in hex form like in keyranges.
column_list_authoritative is set to true if columns is an authoritative list for the table. This allows us to expand 'select *' expressions.
reference tables may optionally indicate their source table.
Vindex is the vindex info for a Keyspace.
Used in:
The type must match one of the predefined (or plugged in) vindex names.
params is a map of attribute value pairs that must be defined as required by the vindex constructors. The values can only be strings.
A lookup vindex can have an owner table defined. If so, rows in the lookup table are created or deleted in sync with corresponding rows in the owner table.