syntax = "proto3"; package command; option go_package = "github.com/rqlite/rqlite/command"; message Parameter { oneof value { sint64 i = 1; double d = 2; bool b = 3; bytes y = 4; string s = 5; } } message Statement { string sql = 1; repeated Parameter parameters = 2; } message Request { bool transaction = 1; repeated Statement statements = 2; } message QueryRequest { Request request = 1; bool timings = 2; enum Level { QUERY_REQUEST_LEVEL_NONE = 0; QUERY_REQUEST_LEVEL_WEAK = 1; QUERY_REQUEST_LEVEL_STRONG = 2; } Level level = 3; int64 freshness = 4; } message ExecuteRequest { Request request = 1; bool timings = 2; } message MetadataSet { string raft_id = 1; map data = 2; } message MetadataDelete { string raft_id = 1; } message Noop { string id = 1; } message Command { enum Type { COMMAND_TYPE_UNKNOWN = 0; COMMAND_TYPE_QUERY = 1; COMMAND_TYPE_EXECUTE = 2; COMMAND_TYPE_METADATA_SET = 3; COMMAND_TYPE_METADATA_DELETE = 4; COMMAND_TYPE_NOOP = 5; } Type type = 1; bytes sub_command = 2; bool compressed = 3; }