route/vendor/gopkg.in/gorethink/gorethink.v2/ql2/ql2.pb.go

1682 lines
52 KiB
Go

// Code generated by protoc-gen-go.
// source: ql2.proto
// DO NOT EDIT!
/*
Package ql2 is a generated protocol buffer package.
It is generated from these files:
ql2.proto
It has these top-level messages:
VersionDummy
Query
Frame
Backtrace
Response
Datum
Term
*/
package ql2
import proto "github.com/golang/protobuf/proto"
import json "encoding/json"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = &json.SyntaxError{}
var _ = math.Inf
// non-conforming protobuf libraries
// This enum contains the magic numbers for your version. See **THE HIGH-LEVEL
// VIEW** for what to do with it.
type VersionDummy_Version int32
const (
VersionDummy_V0_1 VersionDummy_Version = 1063369270
VersionDummy_V0_2 VersionDummy_Version = 1915781601
VersionDummy_V0_3 VersionDummy_Version = 1601562686
VersionDummy_V0_4 VersionDummy_Version = 1074539808
VersionDummy_V1_0 VersionDummy_Version = 885177795
)
var VersionDummy_Version_name = map[int32]string{
1063369270: "V0_1",
1915781601: "V0_2",
1601562686: "V0_3",
1074539808: "V0_4",
885177795: "V1_0",
}
var VersionDummy_Version_value = map[string]int32{
"V0_1": 1063369270,
"V0_2": 1915781601,
"V0_3": 1601562686,
"V0_4": 1074539808,
"V1_0": 885177795,
}
func (x VersionDummy_Version) Enum() *VersionDummy_Version {
p := new(VersionDummy_Version)
*p = x
return p
}
func (x VersionDummy_Version) String() string {
return proto.EnumName(VersionDummy_Version_name, int32(x))
}
func (x VersionDummy_Version) MarshalJSON() ([]byte, error) {
return json.Marshal(x.String())
}
func (x *VersionDummy_Version) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(VersionDummy_Version_value, data, "VersionDummy_Version")
if err != nil {
return err
}
*x = VersionDummy_Version(value)
return nil
}
// The protocol to use after the handshake, specified in V0_3
type VersionDummy_Protocol int32
const (
VersionDummy_PROTOBUF VersionDummy_Protocol = 656407617
VersionDummy_JSON VersionDummy_Protocol = 2120839367
)
var VersionDummy_Protocol_name = map[int32]string{
656407617: "PROTOBUF",
2120839367: "JSON",
}
var VersionDummy_Protocol_value = map[string]int32{
"PROTOBUF": 656407617,
"JSON": 2120839367,
}
func (x VersionDummy_Protocol) Enum() *VersionDummy_Protocol {
p := new(VersionDummy_Protocol)
*p = x
return p
}
func (x VersionDummy_Protocol) String() string {
return proto.EnumName(VersionDummy_Protocol_name, int32(x))
}
func (x VersionDummy_Protocol) MarshalJSON() ([]byte, error) {
return json.Marshal(x.String())
}
func (x *VersionDummy_Protocol) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(VersionDummy_Protocol_value, data, "VersionDummy_Protocol")
if err != nil {
return err
}
*x = VersionDummy_Protocol(value)
return nil
}
type Query_QueryType int32
const (
Query_START Query_QueryType = 1
Query_CONTINUE Query_QueryType = 2
// (see [Response]).
Query_STOP Query_QueryType = 3
Query_NOREPLY_WAIT Query_QueryType = 4
Query_SERVER_INFO Query_QueryType = 5
)
var Query_QueryType_name = map[int32]string{
1: "START",
2: "CONTINUE",
3: "STOP",
4: "NOREPLY_WAIT",
5: "SERVER_INFO",
}
var Query_QueryType_value = map[string]int32{
"START": 1,
"CONTINUE": 2,
"STOP": 3,
"NOREPLY_WAIT": 4,
"SERVER_INFO": 5,
}
func (x Query_QueryType) Enum() *Query_QueryType {
p := new(Query_QueryType)
*p = x
return p
}
func (x Query_QueryType) String() string {
return proto.EnumName(Query_QueryType_name, int32(x))
}
func (x Query_QueryType) MarshalJSON() ([]byte, error) {
return json.Marshal(x.String())
}
func (x *Query_QueryType) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(Query_QueryType_value, data, "Query_QueryType")
if err != nil {
return err
}
*x = Query_QueryType(value)
return nil
}
type Frame_FrameType int32
const (
Frame_POS Frame_FrameType = 1
Frame_OPT Frame_FrameType = 2
)
var Frame_FrameType_name = map[int32]string{
1: "POS",
2: "OPT",
}
var Frame_FrameType_value = map[string]int32{
"POS": 1,
"OPT": 2,
}
func (x Frame_FrameType) Enum() *Frame_FrameType {
p := new(Frame_FrameType)
*p = x
return p
}
func (x Frame_FrameType) String() string {
return proto.EnumName(Frame_FrameType_name, int32(x))
}
func (x Frame_FrameType) MarshalJSON() ([]byte, error) {
return json.Marshal(x.String())
}
func (x *Frame_FrameType) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(Frame_FrameType_value, data, "Frame_FrameType")
if err != nil {
return err
}
*x = Frame_FrameType(value)
return nil
}
type Response_ResponseType int32
const (
// These response types indicate success.
Response_SUCCESS_ATOM Response_ResponseType = 1
Response_SUCCESS_SEQUENCE Response_ResponseType = 2
Response_SUCCESS_PARTIAL Response_ResponseType = 3
// datatypes. If you send a [CONTINUE] query with
// the same token as this response, you will get
// more of the sequence. Keep sending [CONTINUE]
// queries until you get back [SUCCESS_SEQUENCE].
Response_WAIT_COMPLETE Response_ResponseType = 4
Response_SERVER_INFO Response_ResponseType = 5
// These response types indicate failure.
Response_CLIENT_ERROR Response_ResponseType = 16
// client sends a malformed protobuf, or tries to
// send [CONTINUE] for an unknown token.
Response_COMPILE_ERROR Response_ResponseType = 17
// checking. For example, if you pass too many
// arguments to a function.
Response_RUNTIME_ERROR Response_ResponseType = 18
)
var Response_ResponseType_name = map[int32]string{
1: "SUCCESS_ATOM",
2: "SUCCESS_SEQUENCE",
3: "SUCCESS_PARTIAL",
4: "WAIT_COMPLETE",
5: "SERVER_INFO",
16: "CLIENT_ERROR",
17: "COMPILE_ERROR",
18: "RUNTIME_ERROR",
}
var Response_ResponseType_value = map[string]int32{
"SUCCESS_ATOM": 1,
"SUCCESS_SEQUENCE": 2,
"SUCCESS_PARTIAL": 3,
"WAIT_COMPLETE": 4,
"SERVER_INFO": 5,
"CLIENT_ERROR": 16,
"COMPILE_ERROR": 17,
"RUNTIME_ERROR": 18,
}
func (x Response_ResponseType) Enum() *Response_ResponseType {
p := new(Response_ResponseType)
*p = x
return p
}
func (x Response_ResponseType) String() string {
return proto.EnumName(Response_ResponseType_name, int32(x))
}
func (x Response_ResponseType) MarshalJSON() ([]byte, error) {
return json.Marshal(x.String())
}
func (x *Response_ResponseType) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(Response_ResponseType_value, data, "Response_ResponseType")
if err != nil {
return err
}
*x = Response_ResponseType(value)
return nil
}
// If `ResponseType` is `RUNTIME_ERROR`, this may be filled in with more
// information about the error.
type Response_ErrorType int32
const (
Response_INTERNAL Response_ErrorType = 1000000
Response_RESOURCE_LIMIT Response_ErrorType = 2000000
Response_QUERY_LOGIC Response_ErrorType = 3000000
Response_NON_EXISTENCE Response_ErrorType = 3100000
Response_OP_FAILED Response_ErrorType = 4100000
Response_OP_INDETERMINATE Response_ErrorType = 4200000
Response_USER Response_ErrorType = 5000000
Response_PERMISSION_ERROR Response_ErrorType = 6000000
)
var Response_ErrorType_name = map[int32]string{
1000000: "INTERNAL",
2000000: "RESOURCE_LIMIT",
3000000: "QUERY_LOGIC",
3100000: "NON_EXISTENCE",
4100000: "OP_FAILED",
4200000: "OP_INDETERMINATE",
5000000: "USER",
6000000: "PERMISSION_ERROR",
}
var Response_ErrorType_value = map[string]int32{
"INTERNAL": 1000000,
"RESOURCE_LIMIT": 2000000,
"QUERY_LOGIC": 3000000,
"NON_EXISTENCE": 3100000,
"OP_FAILED": 4100000,
"OP_INDETERMINATE": 4200000,
"USER": 5000000,
"PERMISSION_ERROR": 6000000,
}
func (x Response_ErrorType) Enum() *Response_ErrorType {
p := new(Response_ErrorType)
*p = x
return p
}
func (x Response_ErrorType) String() string {
return proto.EnumName(Response_ErrorType_name, int32(x))
}
func (x Response_ErrorType) MarshalJSON() ([]byte, error) {
return json.Marshal(x.String())
}
func (x *Response_ErrorType) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(Response_ErrorType_value, data, "Response_ErrorType")
if err != nil {
return err
}
*x = Response_ErrorType(value)
return nil
}
// ResponseNotes are used to provide information about the query
// response that may be useful for people writing drivers or ORMs.
// Currently all the notes we send indicate that a stream has certain
// special properties.
type Response_ResponseNote int32
const (
// The stream is a changefeed stream (e.g. `r.table('test').changes()`).
Response_SEQUENCE_FEED Response_ResponseNote = 1
// The stream is a point changefeed stream
// (e.g. `r.table('test').get(0).changes()`).
Response_ATOM_FEED Response_ResponseNote = 2
// The stream is an order_by_limit changefeed stream
// (e.g. `r.table('test').order_by(index: 'id').limit(5).changes()`).
Response_ORDER_BY_LIMIT_FEED Response_ResponseNote = 3
// The stream is a union of multiple changefeed types that can't be
// collapsed to a single type
// (e.g. `r.table('test').changes().union(r.table('test').get(0).changes())`).
Response_UNIONED_FEED Response_ResponseNote = 4
// The stream is a changefeed stream and includes notes on what state
// the changefeed stream is in (e.g. objects of the form `{state:
// 'initializing'}`).
Response_INCLUDES_STATES Response_ResponseNote = 5
)
var Response_ResponseNote_name = map[int32]string{
1: "SEQUENCE_FEED",
2: "ATOM_FEED",
3: "ORDER_BY_LIMIT_FEED",
4: "UNIONED_FEED",
5: "INCLUDES_STATES",
}
var Response_ResponseNote_value = map[string]int32{
"SEQUENCE_FEED": 1,
"ATOM_FEED": 2,
"ORDER_BY_LIMIT_FEED": 3,
"UNIONED_FEED": 4,
"INCLUDES_STATES": 5,
}
func (x Response_ResponseNote) Enum() *Response_ResponseNote {
p := new(Response_ResponseNote)
*p = x
return p
}
func (x Response_ResponseNote) String() string {
return proto.EnumName(Response_ResponseNote_name, int32(x))
}
func (x Response_ResponseNote) MarshalJSON() ([]byte, error) {
return json.Marshal(x.String())
}
func (x *Response_ResponseNote) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(Response_ResponseNote_value, data, "Response_ResponseNote")
if err != nil {
return err
}
*x = Response_ResponseNote(value)
return nil
}
type Datum_DatumType int32
const (
Datum_R_NULL Datum_DatumType = 1
Datum_R_BOOL Datum_DatumType = 2
Datum_R_NUM Datum_DatumType = 3
Datum_R_STR Datum_DatumType = 4
Datum_R_ARRAY Datum_DatumType = 5
Datum_R_OBJECT Datum_DatumType = 6
// This [DatumType] will only be used if [accepts_r_json] is
// set to [true] in [Query]. [r_str] will be filled with a
// JSON encoding of the [Datum].
Datum_R_JSON Datum_DatumType = 7
)
var Datum_DatumType_name = map[int32]string{
1: "R_NULL",
2: "R_BOOL",
3: "R_NUM",
4: "R_STR",
5: "R_ARRAY",
6: "R_OBJECT",
7: "R_JSON",
}
var Datum_DatumType_value = map[string]int32{
"R_NULL": 1,
"R_BOOL": 2,
"R_NUM": 3,
"R_STR": 4,
"R_ARRAY": 5,
"R_OBJECT": 6,
"R_JSON": 7,
}
func (x Datum_DatumType) Enum() *Datum_DatumType {
p := new(Datum_DatumType)
*p = x
return p
}
func (x Datum_DatumType) String() string {
return proto.EnumName(Datum_DatumType_name, int32(x))
}
func (x Datum_DatumType) MarshalJSON() ([]byte, error) {
return json.Marshal(x.String())
}
func (x *Datum_DatumType) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(Datum_DatumType_value, data, "Datum_DatumType")
if err != nil {
return err
}
*x = Datum_DatumType(value)
return nil
}
type Term_TermType int32
const (
// A RQL datum, stored in `datum` below.
Term_DATUM Term_TermType = 1
Term_MAKE_ARRAY Term_TermType = 2
// Evaluate the terms in [optargs] and make an object
Term_MAKE_OBJ Term_TermType = 3
// Takes an integer representing a variable and returns the value stored
// in that variable. It's the responsibility of the client to translate
// from their local representation of a variable to a unique _non-negative_
// integer for that variable. (We do it this way instead of letting
// clients provide variable names as strings to discourage
// variable-capturing client libraries, and because it's more efficient
// on the wire.)
Term_VAR Term_TermType = 10
// Takes some javascript code and executes it.
Term_JAVASCRIPT Term_TermType = 11
// STRING {timeout: !NUMBER} -> Function(*)
Term_UUID Term_TermType = 169
// Takes an HTTP URL and gets it. If the get succeeds and
// returns valid JSON, it is converted into a DATUM
Term_HTTP Term_TermType = 153
// Takes a string and throws an error with that message.
// Inside of a `default` block, you can omit the first
// argument to rethrow whatever error you catch (this is most
// useful as an argument to the `default` filter optarg).
Term_ERROR Term_TermType = 12
// Takes nothing and returns a reference to the implicit variable.
Term_IMPLICIT_VAR Term_TermType = 13
// * Data Operators
// Returns a reference to a database.
Term_DB Term_TermType = 14
// Returns a reference to a table.
Term_TABLE Term_TermType = 15
// STRING, {read_mode:STRING, identifier_format:STRING} -> Table
// Gets a single element from a table by its primary or a secondary key.
Term_GET Term_TermType = 16
// Table, STRING -> NULL | Table, NUMBER -> NULL |
Term_GET_ALL Term_TermType = 78
// Simple DATUM Ops
Term_EQ Term_TermType = 17
Term_NE Term_TermType = 18
Term_LT Term_TermType = 19
Term_LE Term_TermType = 20
Term_GT Term_TermType = 21
Term_GE Term_TermType = 22
Term_NOT Term_TermType = 23
// ADD can either add two numbers or concatenate two arrays.
Term_ADD Term_TermType = 24
Term_SUB Term_TermType = 25
Term_MUL Term_TermType = 26
Term_DIV Term_TermType = 27
Term_MOD Term_TermType = 28
Term_FLOOR Term_TermType = 183
Term_CEIL Term_TermType = 184
Term_ROUND Term_TermType = 185
// DATUM Array Ops
// Append a single element to the end of an array (like `snoc`).
Term_APPEND Term_TermType = 29
// Prepend a single element to the end of an array (like `cons`).
Term_PREPEND Term_TermType = 80
// Remove the elements of one array from another array.
Term_DIFFERENCE Term_TermType = 95
// DATUM Set Ops
// Set ops work on arrays. They don't use actual sets and thus have
// performance characteristics you would expect from arrays rather than
// from sets. All set operations have the post condition that they
// array they return contains no duplicate values.
Term_SET_INSERT Term_TermType = 88
Term_SET_INTERSECTION Term_TermType = 89
Term_SET_UNION Term_TermType = 90
Term_SET_DIFFERENCE Term_TermType = 91
Term_SLICE Term_TermType = 30
Term_SKIP Term_TermType = 70
Term_LIMIT Term_TermType = 71
Term_OFFSETS_OF Term_TermType = 87
Term_CONTAINS Term_TermType = 93
// Stream/Object Ops
// Get a particular field from an object, or map that over a
// sequence.
Term_GET_FIELD Term_TermType = 31
// | Sequence, STRING -> Sequence
// Return an array containing the keys of the object.
Term_KEYS Term_TermType = 94
// Return an array containing the values of the object.
Term_VALUES Term_TermType = 186
// Creates an object
Term_OBJECT Term_TermType = 143
// Check whether an object contains all the specified fields,
// or filters a sequence so that all objects inside of it
// contain all the specified fields.
Term_HAS_FIELDS Term_TermType = 32
// x.with_fields(...) <=> x.has_fields(...).pluck(...)
Term_WITH_FIELDS Term_TermType = 96
// Get a subset of an object by selecting some attributes to preserve,
// or map that over a sequence. (Both pick and pluck, polymorphic.)
Term_PLUCK Term_TermType = 33
// Get a subset of an object by selecting some attributes to discard, or
// map that over a sequence. (Both unpick and without, polymorphic.)
Term_WITHOUT Term_TermType = 34
// Merge objects (right-preferential)
Term_MERGE Term_TermType = 35
// Sequence Ops
// Get all elements of a sequence between two values.
// Half-open by default, but the openness of either side can be
// changed by passing 'closed' or 'open for `right_bound` or
// `left_bound`.
Term_BETWEEN_DEPRECATED Term_TermType = 36
// With the newer version, clients should use `r.minval` and `r.maxval` for unboundedness
Term_BETWEEN Term_TermType = 182
Term_REDUCE Term_TermType = 37
Term_MAP Term_TermType = 38
Term_FOLD Term_TermType = 187
// Filter a sequence with either a function or a shortcut
// object (see API docs for details). The body of FILTER is
// wrapped in an implicit `.default(false)`, and you can
// change the default value by specifying the `default`
// optarg. If you make the default `r.error`, all errors
// caught by `default` will be rethrown as if the `default`
// did not exist.
Term_FILTER Term_TermType = 39
// Sequence, OBJECT, {default:DATUM} -> Sequence
// Map a function over a sequence and then concatenate the results together.
Term_CONCAT_MAP Term_TermType = 40
// Order a sequence based on one or more attributes.
Term_ORDER_BY Term_TermType = 41
// Get all distinct elements of a sequence (like `uniq`).
Term_DISTINCT Term_TermType = 42
// Count the number of elements in a sequence, or only the elements that match
// a given filter.
Term_COUNT Term_TermType = 43
Term_IS_EMPTY Term_TermType = 86
// Take the union of multiple sequences (preserves duplicate elements! (use distinct)).
Term_UNION Term_TermType = 44
// Get the Nth element of a sequence.
Term_NTH Term_TermType = 45
// do NTH or GET_FIELD depending on target object
Term_BRACKET Term_TermType = 170
Term_INNER_JOIN Term_TermType = 48
Term_OUTER_JOIN Term_TermType = 49
// An inner-join that does an equality comparison on two attributes.
Term_EQ_JOIN Term_TermType = 50
Term_ZIP Term_TermType = 72
Term_RANGE Term_TermType = 173
// Array Ops
// Insert an element in to an array at a given index.
Term_INSERT_AT Term_TermType = 82
// Remove an element at a given index from an array.
Term_DELETE_AT Term_TermType = 83
// ARRAY, NUMBER, NUMBER -> ARRAY
// Change the element at a given index of an array.
Term_CHANGE_AT Term_TermType = 84
// Splice one array in to another array.
Term_SPLICE_AT Term_TermType = 85
// * Type Ops
// Coerces a datum to a named type (e.g. "bool").
// If you previously used `stream_to_array`, you should use this instead
// with the type "array".
Term_COERCE_TO Term_TermType = 51
// Returns the named type of a datum (e.g. TYPE_OF(true) = "BOOL")
Term_TYPE_OF Term_TermType = 52
// * Write Ops (the OBJECTs contain data about number of errors etc.)
// Updates all the rows in a selection. Calls its Function with the row
// to be updated, and then merges the result of that call.
Term_UPDATE Term_TermType = 53
// SingleSelection, Function(1), {non_atomic:BOOL, durability:STRING, return_changes:BOOL} -> OBJECT |
// StreamSelection, OBJECT, {non_atomic:BOOL, durability:STRING, return_changes:BOOL} -> OBJECT |
// SingleSelection, OBJECT, {non_atomic:BOOL, durability:STRING, return_changes:BOOL} -> OBJECT
// Deletes all the rows in a selection.
Term_DELETE Term_TermType = 54
// Replaces all the rows in a selection. Calls its Function with the row
// to be replaced, and then discards it and stores the result of that
// call.
Term_REPLACE Term_TermType = 55
// Inserts into a table. If `conflict` is replace, overwrites
// entries with the same primary key. If `conflict` is
// update, does an update on the entry. If `conflict` is
// error, or is omitted, conflicts will trigger an error.
Term_INSERT Term_TermType = 56
// * Administrative OPs
// Creates a database with a particular name.
Term_DB_CREATE Term_TermType = 57
// Drops a database with a particular name.
Term_DB_DROP Term_TermType = 58
// Lists all the databases by name. (Takes no arguments)
Term_DB_LIST Term_TermType = 59
// Creates a table with a particular name in a particular
// database. (You may omit the first argument to use the
// default database.)
Term_TABLE_CREATE Term_TermType = 60
// Database, STRING, {primary_key:STRING, shards:NUMBER, replicas:OBJECT, primary_replica_tag:STRING} -> OBJECT
// STRING, {primary_key:STRING, shards:NUMBER, replicas:NUMBER, primary_replica_tag:STRING} -> OBJECT
// STRING, {primary_key:STRING, shards:NUMBER, replicas:OBJECT, primary_replica_tag:STRING} -> OBJECT
// Drops a table with a particular name from a particular
// database. (You may omit the first argument to use the
// default database.)
Term_TABLE_DROP Term_TermType = 61
// STRING -> OBJECT
// Lists all the tables in a particular database. (You may
// omit the first argument to use the default database.)
Term_TABLE_LIST Term_TermType = 62
// -> ARRAY
// Returns the row in the `rethinkdb.table_config` or `rethinkdb.db_config` table
// that corresponds to the given database or table.
Term_CONFIG Term_TermType = 174
// Table -> SingleSelection
// Returns the row in the `rethinkdb.table_status` table that corresponds to the
// given table.
Term_STATUS Term_TermType = 175
// Called on a table, waits for that table to be ready for read/write operations.
// Called on a database, waits for all of the tables in the database to be ready.
// Returns the corresponding row or rows from the `rethinkdb.table_status` table.
Term_WAIT Term_TermType = 177
// Database -> OBJECT
// Generates a new config for the given table, or all tables in the given database
// The `shards` and `replicas` arguments are required. If `emergency_repair` is
// specified, it will enter a completely different mode of repairing a table
// which has lost half or more of its replicas.
Term_RECONFIGURE Term_TermType = 176
// dry_run:BOOLEAN]
// } -> OBJECT
// Database|Table, {shards:NUMBER, replicas:OBJECT [,
// primary_replica_tag:STRING,
// nonvoting_replica_tags:ARRAY,
// dry_run:BOOLEAN]
// } -> OBJECT
// Table, {emergency_repair:STRING, dry_run:BOOLEAN} -> OBJECT
// Balances the table's shards but leaves everything else the same. Can also be
// applied to an entire database at once.
Term_REBALANCE Term_TermType = 179
// Ensures that previously issued soft-durability writes are complete and
// written to disk.
Term_SYNC Term_TermType = 138
// Set global, database, or table-specific permissions
Term_GRANT Term_TermType = 188
// * Secondary indexes OPs
// Creates a new secondary index with a particular name and definition.
Term_INDEX_CREATE Term_TermType = 75
// Drops a secondary index with a particular name from the specified table.
Term_INDEX_DROP Term_TermType = 76
// Lists all secondary indexes on a particular table.
Term_INDEX_LIST Term_TermType = 77
// Gets information about whether or not a set of indexes are ready to
// be accessed. Returns a list of objects that look like this:
// {index:STRING, ready:BOOL[, progress:NUMBER]}
Term_INDEX_STATUS Term_TermType = 139
// Blocks until a set of indexes are ready to be accessed. Returns the
// same values INDEX_STATUS.
Term_INDEX_WAIT Term_TermType = 140
// Renames the given index to a new name
Term_INDEX_RENAME Term_TermType = 156
// * Control Operators
// Calls a function on data
Term_FUNCALL Term_TermType = 64
// Executes its first argument, and returns its second argument if it
// got [true] or its third argument if it got [false] (like an `if`
// statement).
Term_BRANCH Term_TermType = 65
// Returns true if any of its arguments returns true (short-circuits).
Term_OR Term_TermType = 66
// Returns true if all of its arguments return true (short-circuits).
Term_AND Term_TermType = 67
// Calls its Function with each entry in the sequence
// and executes the array of terms that Function returns.
Term_FOR_EACH Term_TermType = 68
// An anonymous function. Takes an array of numbers representing
// variables (see [VAR] above), and a [Term] to execute with those in
// scope. Returns a function that may be passed an array of arguments,
// then executes the Term with those bound to the variable names. The
// user will never construct this directly. We use it internally for
// things like `map` which take a function. The "arity" of a [Function] is
// the number of arguments it takes.
// For example, here's what `_X_.map{|x| x+2}` turns into:
// Term {
// type = MAP;
// args = [_X_,
// Term {
// type = Function;
// args = [Term {
// type = DATUM;
// datum = Datum {
// type = R_ARRAY;
// r_array = [Datum { type = R_NUM; r_num = 1; }];
// };
// },
// Term {
// type = ADD;
// args = [Term {
// type = VAR;
// args = [Term {
// type = DATUM;
// datum = Datum { type = R_NUM;
// r_num = 1};
// }];
// },
// Term {
// type = DATUM;
// datum = Datum { type = R_NUM; r_num = 2; };
// }];
// }];
// }];
Term_FUNC Term_TermType = 69
// Indicates to ORDER_BY that this attribute is to be sorted in ascending order.
Term_ASC Term_TermType = 73
// Indicates to ORDER_BY that this attribute is to be sorted in descending order.
Term_DESC Term_TermType = 74
// Gets info about anything. INFO is most commonly called on tables.
Term_INFO Term_TermType = 79
// `a.match(b)` returns a match object if the string `a`
// matches the regular expression `b`.
Term_MATCH Term_TermType = 97
// Change the case of a string.
Term_UPCASE Term_TermType = 141
Term_DOWNCASE Term_TermType = 142
// Select a number of elements from sequence with uniform distribution.
Term_SAMPLE Term_TermType = 81
// Evaluates its first argument. If that argument returns
// NULL or throws an error related to the absence of an
// expected value (for instance, accessing a non-existent
// field or adding NULL to an integer), DEFAULT will either
// return its second argument or execute it if it's a
// function. If the second argument is a function, it will be
// passed either the text of the error or NULL as its
// argument.
Term_DEFAULT Term_TermType = 92
// Parses its first argument as a json string and returns it as a
// datum.
Term_JSON Term_TermType = 98
// Returns the datum as a JSON string.
// N.B.: we would really prefer this be named TO_JSON and that exists as
// an alias in Python and JavaScript drivers; however it conflicts with the
// standard `to_json` method defined by Ruby's standard json library.
Term_TO_JSON_STRING Term_TermType = 172
// Parses its first arguments as an ISO 8601 time and returns it as a
// datum.
Term_ISO8601 Term_TermType = 99
// Prints a time as an ISO 8601 time.
Term_TO_ISO8601 Term_TermType = 100
// Returns a time given seconds since epoch in UTC.
Term_EPOCH_TIME Term_TermType = 101
// Returns seconds since epoch in UTC given a time.
Term_TO_EPOCH_TIME Term_TermType = 102
// The time the query was received by the server.
Term_NOW Term_TermType = 103
// Puts a time into an ISO 8601 timezone.
Term_IN_TIMEZONE Term_TermType = 104
// a.during(b, c) returns whether a is in the range [b, c)
Term_DURING Term_TermType = 105
// Retrieves the date portion of a time.
Term_DATE Term_TermType = 106
// x.time_of_day == x.date - x
Term_TIME_OF_DAY Term_TermType = 126
// Returns the timezone of a time.
Term_TIMEZONE Term_TermType = 127
// These access the various components of a time.
Term_YEAR Term_TermType = 128
Term_MONTH Term_TermType = 129
Term_DAY Term_TermType = 130
Term_DAY_OF_WEEK Term_TermType = 131
Term_DAY_OF_YEAR Term_TermType = 132
Term_HOURS Term_TermType = 133
Term_MINUTES Term_TermType = 134
Term_SECONDS Term_TermType = 135
// Construct a time from a date and optional timezone or a
// date+time and optional timezone.
Term_TIME Term_TermType = 136
// Constants for ISO 8601 days of the week.
Term_MONDAY Term_TermType = 107
Term_TUESDAY Term_TermType = 108
Term_WEDNESDAY Term_TermType = 109
Term_THURSDAY Term_TermType = 110
Term_FRIDAY Term_TermType = 111
Term_SATURDAY Term_TermType = 112
Term_SUNDAY Term_TermType = 113
// Constants for ISO 8601 months.
Term_JANUARY Term_TermType = 114
Term_FEBRUARY Term_TermType = 115
Term_MARCH Term_TermType = 116
Term_APRIL Term_TermType = 117
Term_MAY Term_TermType = 118
Term_JUNE Term_TermType = 119
Term_JULY Term_TermType = 120
Term_AUGUST Term_TermType = 121
Term_SEPTEMBER Term_TermType = 122
Term_OCTOBER Term_TermType = 123
Term_NOVEMBER Term_TermType = 124
Term_DECEMBER Term_TermType = 125
// Indicates to MERGE to replace, or remove in case of an empty literal, the
// other object rather than merge it.
Term_LITERAL Term_TermType = 137
// SEQUENCE, STRING -> GROUPED_SEQUENCE | SEQUENCE, FUNCTION -> GROUPED_SEQUENCE
Term_GROUP Term_TermType = 144
Term_SUM Term_TermType = 145
Term_AVG Term_TermType = 146
Term_MIN Term_TermType = 147
Term_MAX Term_TermType = 148
// `str.split()` splits on whitespace
// `str.split(" ")` splits on spaces only
// `str.split(" ", 5)` splits on spaces with at most 5 results
// `str.split(nil, 5)` splits on whitespace with at most 5 results
Term_SPLIT Term_TermType = 149
Term_UNGROUP Term_TermType = 150
// Takes a range of numbers and returns a random number within the range
Term_RANDOM Term_TermType = 151
Term_CHANGES Term_TermType = 152
Term_ARGS Term_TermType = 154
// BINARY is client-only at the moment, it is not supported on the server
Term_BINARY Term_TermType = 155
Term_GEOJSON Term_TermType = 157
Term_TO_GEOJSON Term_TermType = 158
Term_POINT Term_TermType = 159
Term_LINE Term_TermType = 160
Term_POLYGON Term_TermType = 161
Term_DISTANCE Term_TermType = 162
Term_INTERSECTS Term_TermType = 163
Term_INCLUDES Term_TermType = 164
Term_CIRCLE Term_TermType = 165
Term_GET_INTERSECTING Term_TermType = 166
Term_FILL Term_TermType = 167
Term_GET_NEAREST Term_TermType = 168
Term_POLYGON_SUB Term_TermType = 171
// Constants for specifying key ranges
Term_MINVAL Term_TermType = 180
Term_MAXVAL Term_TermType = 181
)
var Term_TermType_name = map[int32]string{
1: "DATUM",
2: "MAKE_ARRAY",
3: "MAKE_OBJ",
10: "VAR",
11: "JAVASCRIPT",
169: "UUID",
153: "HTTP",
12: "ERROR",
13: "IMPLICIT_VAR",
14: "DB",
15: "TABLE",
16: "GET",
78: "GET_ALL",
17: "EQ",
18: "NE",
19: "LT",
20: "LE",
21: "GT",
22: "GE",
23: "NOT",
24: "ADD",
25: "SUB",
26: "MUL",
27: "DIV",
28: "MOD",
183: "FLOOR",
184: "CEIL",
185: "ROUND",
29: "APPEND",
80: "PREPEND",
95: "DIFFERENCE",
88: "SET_INSERT",
89: "SET_INTERSECTION",
90: "SET_UNION",
91: "SET_DIFFERENCE",
30: "SLICE",
70: "SKIP",
71: "LIMIT",
87: "OFFSETS_OF",
93: "CONTAINS",
31: "GET_FIELD",
94: "KEYS",
186: "VALUES",
143: "OBJECT",
32: "HAS_FIELDS",
96: "WITH_FIELDS",
33: "PLUCK",
34: "WITHOUT",
35: "MERGE",
36: "BETWEEN_DEPRECATED",
182: "BETWEEN",
37: "REDUCE",
38: "MAP",
187: "FOLD",
39: "FILTER",
40: "CONCAT_MAP",
41: "ORDER_BY",
42: "DISTINCT",
43: "COUNT",
86: "IS_EMPTY",
44: "UNION",
45: "NTH",
170: "BRACKET",
48: "INNER_JOIN",
49: "OUTER_JOIN",
50: "EQ_JOIN",
72: "ZIP",
173: "RANGE",
82: "INSERT_AT",
83: "DELETE_AT",
84: "CHANGE_AT",
85: "SPLICE_AT",
51: "COERCE_TO",
52: "TYPE_OF",
53: "UPDATE",
54: "DELETE",
55: "REPLACE",
56: "INSERT",
57: "DB_CREATE",
58: "DB_DROP",
59: "DB_LIST",
60: "TABLE_CREATE",
61: "TABLE_DROP",
62: "TABLE_LIST",
174: "CONFIG",
175: "STATUS",
177: "WAIT",
176: "RECONFIGURE",
179: "REBALANCE",
138: "SYNC",
188: "GRANT",
75: "INDEX_CREATE",
76: "INDEX_DROP",
77: "INDEX_LIST",
139: "INDEX_STATUS",
140: "INDEX_WAIT",
156: "INDEX_RENAME",
64: "FUNCALL",
65: "BRANCH",
66: "OR",
67: "AND",
68: "FOR_EACH",
69: "FUNC",
73: "ASC",
74: "DESC",
79: "INFO",
97: "MATCH",
141: "UPCASE",
142: "DOWNCASE",
81: "SAMPLE",
92: "DEFAULT",
98: "JSON",
172: "TO_JSON_STRING",
99: "ISO8601",
100: "TO_ISO8601",
101: "EPOCH_TIME",
102: "TO_EPOCH_TIME",
103: "NOW",
104: "IN_TIMEZONE",
105: "DURING",
106: "DATE",
126: "TIME_OF_DAY",
127: "TIMEZONE",
128: "YEAR",
129: "MONTH",
130: "DAY",
131: "DAY_OF_WEEK",
132: "DAY_OF_YEAR",
133: "HOURS",
134: "MINUTES",
135: "SECONDS",
136: "TIME",
107: "MONDAY",
108: "TUESDAY",
109: "WEDNESDAY",
110: "THURSDAY",
111: "FRIDAY",
112: "SATURDAY",
113: "SUNDAY",
114: "JANUARY",
115: "FEBRUARY",
116: "MARCH",
117: "APRIL",
118: "MAY",
119: "JUNE",
120: "JULY",
121: "AUGUST",
122: "SEPTEMBER",
123: "OCTOBER",
124: "NOVEMBER",
125: "DECEMBER",
137: "LITERAL",
144: "GROUP",
145: "SUM",
146: "AVG",
147: "MIN",
148: "MAX",
149: "SPLIT",
150: "UNGROUP",
151: "RANDOM",
152: "CHANGES",
154: "ARGS",
155: "BINARY",
157: "GEOJSON",
158: "TO_GEOJSON",
159: "POINT",
160: "LINE",
161: "POLYGON",
162: "DISTANCE",
163: "INTERSECTS",
164: "INCLUDES",
165: "CIRCLE",
166: "GET_INTERSECTING",
167: "FILL",
168: "GET_NEAREST",
171: "POLYGON_SUB",
180: "MINVAL",
181: "MAXVAL",
}
var Term_TermType_value = map[string]int32{
"DATUM": 1,
"MAKE_ARRAY": 2,
"MAKE_OBJ": 3,
"VAR": 10,
"JAVASCRIPT": 11,
"UUID": 169,
"HTTP": 153,
"ERROR": 12,
"IMPLICIT_VAR": 13,
"DB": 14,
"TABLE": 15,
"GET": 16,
"GET_ALL": 78,
"EQ": 17,
"NE": 18,
"LT": 19,
"LE": 20,
"GT": 21,
"GE": 22,
"NOT": 23,
"ADD": 24,
"SUB": 25,
"MUL": 26,
"DIV": 27,
"MOD": 28,
"FLOOR": 183,
"CEIL": 184,
"ROUND": 185,
"APPEND": 29,
"PREPEND": 80,
"DIFFERENCE": 95,
"SET_INSERT": 88,
"SET_INTERSECTION": 89,
"SET_UNION": 90,
"SET_DIFFERENCE": 91,
"SLICE": 30,
"SKIP": 70,
"LIMIT": 71,
"OFFSETS_OF": 87,
"CONTAINS": 93,
"GET_FIELD": 31,
"KEYS": 94,
"VALUES": 186,
"OBJECT": 143,
"HAS_FIELDS": 32,
"WITH_FIELDS": 96,
"PLUCK": 33,
"WITHOUT": 34,
"MERGE": 35,
"BETWEEN_DEPRECATED": 36,
"BETWEEN": 182,
"REDUCE": 37,
"MAP": 38,
"FOLD": 187,
"FILTER": 39,
"CONCAT_MAP": 40,
"ORDER_BY": 41,
"DISTINCT": 42,
"COUNT": 43,
"IS_EMPTY": 86,
"UNION": 44,
"NTH": 45,
"BRACKET": 170,
"INNER_JOIN": 48,
"OUTER_JOIN": 49,
"EQ_JOIN": 50,
"ZIP": 72,
"RANGE": 173,
"INSERT_AT": 82,
"DELETE_AT": 83,
"CHANGE_AT": 84,
"SPLICE_AT": 85,
"COERCE_TO": 51,
"TYPE_OF": 52,
"UPDATE": 53,
"DELETE": 54,
"REPLACE": 55,
"INSERT": 56,
"DB_CREATE": 57,
"DB_DROP": 58,
"DB_LIST": 59,
"TABLE_CREATE": 60,
"TABLE_DROP": 61,
"TABLE_LIST": 62,
"CONFIG": 174,
"STATUS": 175,
"WAIT": 177,
"RECONFIGURE": 176,
"REBALANCE": 179,
"SYNC": 138,
"GRANT": 188,
"INDEX_CREATE": 75,
"INDEX_DROP": 76,
"INDEX_LIST": 77,
"INDEX_STATUS": 139,
"INDEX_WAIT": 140,
"INDEX_RENAME": 156,
"FUNCALL": 64,
"BRANCH": 65,
"OR": 66,
"AND": 67,
"FOR_EACH": 68,
"FUNC": 69,
"ASC": 73,
"DESC": 74,
"INFO": 79,
"MATCH": 97,
"UPCASE": 141,
"DOWNCASE": 142,
"SAMPLE": 81,
"DEFAULT": 92,
"JSON": 98,
"TO_JSON_STRING": 172,
"ISO8601": 99,
"TO_ISO8601": 100,
"EPOCH_TIME": 101,
"TO_EPOCH_TIME": 102,
"NOW": 103,
"IN_TIMEZONE": 104,
"DURING": 105,
"DATE": 106,
"TIME_OF_DAY": 126,
"TIMEZONE": 127,
"YEAR": 128,
"MONTH": 129,
"DAY": 130,
"DAY_OF_WEEK": 131,
"DAY_OF_YEAR": 132,
"HOURS": 133,
"MINUTES": 134,
"SECONDS": 135,
"TIME": 136,
"MONDAY": 107,
"TUESDAY": 108,
"WEDNESDAY": 109,
"THURSDAY": 110,
"FRIDAY": 111,
"SATURDAY": 112,
"SUNDAY": 113,
"JANUARY": 114,
"FEBRUARY": 115,
"MARCH": 116,
"APRIL": 117,
"MAY": 118,
"JUNE": 119,
"JULY": 120,
"AUGUST": 121,
"SEPTEMBER": 122,
"OCTOBER": 123,
"NOVEMBER": 124,
"DECEMBER": 125,
"LITERAL": 137,
"GROUP": 144,
"SUM": 145,
"AVG": 146,
"MIN": 147,
"MAX": 148,
"SPLIT": 149,
"UNGROUP": 150,
"RANDOM": 151,
"CHANGES": 152,
"ARGS": 154,
"BINARY": 155,
"GEOJSON": 157,
"TO_GEOJSON": 158,
"POINT": 159,
"LINE": 160,
"POLYGON": 161,
"DISTANCE": 162,
"INTERSECTS": 163,
"INCLUDES": 164,
"CIRCLE": 165,
"GET_INTERSECTING": 166,
"FILL": 167,
"GET_NEAREST": 168,
"POLYGON_SUB": 171,
"MINVAL": 180,
"MAXVAL": 181,
}
func (x Term_TermType) Enum() *Term_TermType {
p := new(Term_TermType)
*p = x
return p
}
func (x Term_TermType) String() string {
return proto.EnumName(Term_TermType_name, int32(x))
}
func (x Term_TermType) MarshalJSON() ([]byte, error) {
return json.Marshal(x.String())
}
func (x *Term_TermType) UnmarshalJSON(data []byte) error {
value, err := proto.UnmarshalJSONEnum(Term_TermType_value, data, "Term_TermType")
if err != nil {
return err
}
*x = Term_TermType(value)
return nil
}
type VersionDummy struct {
XXX_unrecognized []byte `json:"-"`
}
func (m *VersionDummy) Reset() { *m = VersionDummy{} }
func (m *VersionDummy) String() string { return proto.CompactTextString(m) }
func (*VersionDummy) ProtoMessage() {}
// You send one of:
// * A [START] query with a [Term] to evaluate and a unique-per-connection token.
// * A [CONTINUE] query with the same token as a [START] query that returned
// [SUCCESS_PARTIAL] in its [Response].
// * A [STOP] query with the same token as a [START] query that you want to stop.
// * A [NOREPLY_WAIT] query with a unique per-connection token. The server answers
// with a [WAIT_COMPLETE] [Response].
// * A [SERVER_INFO] query. The server answers with a [SERVER_INFO] [Response].
type Query struct {
Type *Query_QueryType `protobuf:"varint,1,opt,name=type,enum=Query_QueryType" json:"type,omitempty"`
// A [Term] is how we represent the operations we want a query to perform.
Query *Term `protobuf:"bytes,2,opt,name=query" json:"query,omitempty"`
Token *int64 `protobuf:"varint,3,opt,name=token" json:"token,omitempty"`
// This flag is ignored on the server. `noreply` should be added
// to `global_optargs` instead (the key "noreply" should map to
// either true or false).
OBSOLETENoreply *bool `protobuf:"varint,4,opt,name=OBSOLETE_noreply,def=0" json:"OBSOLETE_noreply,omitempty"`
// If this is set to [true], then [Datum] values will sometimes be
// of [DatumType] [R_JSON] (see below). This can provide enormous
// speedups in languages with poor protobuf libraries.
AcceptsRJson *bool `protobuf:"varint,5,opt,name=accepts_r_json,def=0" json:"accepts_r_json,omitempty"`
GlobalOptargs []*Query_AssocPair `protobuf:"bytes,6,rep,name=global_optargs" json:"global_optargs,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Query) Reset() { *m = Query{} }
func (m *Query) String() string { return proto.CompactTextString(m) }
func (*Query) ProtoMessage() {}
const Default_Query_OBSOLETENoreply bool = false
const Default_Query_AcceptsRJson bool = false
func (m *Query) GetType() Query_QueryType {
if m != nil && m.Type != nil {
return *m.Type
}
return Query_START
}
func (m *Query) GetQuery() *Term {
if m != nil {
return m.Query
}
return nil
}
func (m *Query) GetToken() int64 {
if m != nil && m.Token != nil {
return *m.Token
}
return 0
}
func (m *Query) GetOBSOLETENoreply() bool {
if m != nil && m.OBSOLETENoreply != nil {
return *m.OBSOLETENoreply
}
return Default_Query_OBSOLETENoreply
}
func (m *Query) GetAcceptsRJson() bool {
if m != nil && m.AcceptsRJson != nil {
return *m.AcceptsRJson
}
return Default_Query_AcceptsRJson
}
func (m *Query) GetGlobalOptargs() []*Query_AssocPair {
if m != nil {
return m.GlobalOptargs
}
return nil
}
type Query_AssocPair struct {
Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
Val *Term `protobuf:"bytes,2,opt,name=val" json:"val,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Query_AssocPair) Reset() { *m = Query_AssocPair{} }
func (m *Query_AssocPair) String() string { return proto.CompactTextString(m) }
func (*Query_AssocPair) ProtoMessage() {}
func (m *Query_AssocPair) GetKey() string {
if m != nil && m.Key != nil {
return *m.Key
}
return ""
}
func (m *Query_AssocPair) GetVal() *Term {
if m != nil {
return m.Val
}
return nil
}
// A backtrace frame (see `backtrace` in Response below)
type Frame struct {
Type *Frame_FrameType `protobuf:"varint,1,opt,name=type,enum=Frame_FrameType" json:"type,omitempty"`
Pos *int64 `protobuf:"varint,2,opt,name=pos" json:"pos,omitempty"`
Opt *string `protobuf:"bytes,3,opt,name=opt" json:"opt,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Frame) Reset() { *m = Frame{} }
func (m *Frame) String() string { return proto.CompactTextString(m) }
func (*Frame) ProtoMessage() {}
func (m *Frame) GetType() Frame_FrameType {
if m != nil && m.Type != nil {
return *m.Type
}
return Frame_POS
}
func (m *Frame) GetPos() int64 {
if m != nil && m.Pos != nil {
return *m.Pos
}
return 0
}
func (m *Frame) GetOpt() string {
if m != nil && m.Opt != nil {
return *m.Opt
}
return ""
}
type Backtrace struct {
Frames []*Frame `protobuf:"bytes,1,rep,name=frames" json:"frames,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Backtrace) Reset() { *m = Backtrace{} }
func (m *Backtrace) String() string { return proto.CompactTextString(m) }
func (*Backtrace) ProtoMessage() {}
func (m *Backtrace) GetFrames() []*Frame {
if m != nil {
return m.Frames
}
return nil
}
// You get back a response with the same [token] as your query.
type Response struct {
Type *Response_ResponseType `protobuf:"varint,1,opt,name=type,enum=Response_ResponseType" json:"type,omitempty"`
ErrorType *Response_ErrorType `protobuf:"varint,7,opt,name=error_type,enum=Response_ErrorType" json:"error_type,omitempty"`
Notes []Response_ResponseNote `protobuf:"varint,6,rep,name=notes,enum=Response_ResponseNote" json:"notes,omitempty"`
Token *int64 `protobuf:"varint,2,opt,name=token" json:"token,omitempty"`
// [response] contains 1 RQL datum if [type] is [SUCCESS_ATOM] or
// [SERVER_INFO]. [response] contains many RQL data if [type] is
// [SUCCESS_SEQUENCE] or [SUCCESS_PARTIAL]. [response] contains 1
// error message (of type [R_STR]) in all other cases.
Response []*Datum `protobuf:"bytes,3,rep,name=response" json:"response,omitempty"`
// If [type] is [CLIENT_ERROR], [TYPE_ERROR], or [RUNTIME_ERROR], then a
// backtrace will be provided. The backtrace says where in the query the
// error occurred. Ideally this information will be presented to the user as
// a pretty-printed version of their query with the erroneous section
// underlined. A backtrace is a series of 0 or more [Frame]s, each of which
// specifies either the index of a positional argument or the name of an
// optional argument. (Those words will make more sense if you look at the
// [Term] message below.)
Backtrace *Backtrace `protobuf:"bytes,4,opt,name=backtrace" json:"backtrace,omitempty"`
// If the [global_optargs] in the [Query] that this [Response] is a
// response to contains a key "profile" which maps to a static value of
// true then [profile] will contain a [Datum] which provides profiling
// information about the execution of the query. This field should be
// returned to the user along with the result that would normally be
// returned (a datum or a cursor). In official drivers this is accomplished
// by putting them inside of an object with "value" mapping to the return
// value and "profile" mapping to the profile object.
Profile *Datum `protobuf:"bytes,5,opt,name=profile" json:"profile,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Response) Reset() { *m = Response{} }
func (m *Response) String() string { return proto.CompactTextString(m) }
func (*Response) ProtoMessage() {}
func (m *Response) GetType() Response_ResponseType {
if m != nil && m.Type != nil {
return *m.Type
}
return Response_SUCCESS_ATOM
}
func (m *Response) GetErrorType() Response_ErrorType {
if m != nil && m.ErrorType != nil {
return *m.ErrorType
}
return Response_INTERNAL
}
func (m *Response) GetNotes() []Response_ResponseNote {
if m != nil {
return m.Notes
}
return nil
}
func (m *Response) GetToken() int64 {
if m != nil && m.Token != nil {
return *m.Token
}
return 0
}
func (m *Response) GetResponse() []*Datum {
if m != nil {
return m.Response
}
return nil
}
func (m *Response) GetBacktrace() *Backtrace {
if m != nil {
return m.Backtrace
}
return nil
}
func (m *Response) GetProfile() *Datum {
if m != nil {
return m.Profile
}
return nil
}
// A [Datum] is a chunk of data that can be serialized to disk or returned to
// the user in a Response. Currently we only support JSON types, but we may
// support other types in the future (e.g., a date type or an integer type).
type Datum struct {
Type *Datum_DatumType `protobuf:"varint,1,opt,name=type,enum=Datum_DatumType" json:"type,omitempty"`
RBool *bool `protobuf:"varint,2,opt,name=r_bool" json:"r_bool,omitempty"`
RNum *float64 `protobuf:"fixed64,3,opt,name=r_num" json:"r_num,omitempty"`
RStr *string `protobuf:"bytes,4,opt,name=r_str" json:"r_str,omitempty"`
RArray []*Datum `protobuf:"bytes,5,rep,name=r_array" json:"r_array,omitempty"`
RObject []*Datum_AssocPair `protobuf:"bytes,6,rep,name=r_object" json:"r_object,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Datum) Reset() { *m = Datum{} }
func (m *Datum) String() string { return proto.CompactTextString(m) }
func (*Datum) ProtoMessage() {}
func (m *Datum) GetType() Datum_DatumType {
if m != nil && m.Type != nil {
return *m.Type
}
return Datum_R_NULL
}
func (m *Datum) GetRBool() bool {
if m != nil && m.RBool != nil {
return *m.RBool
}
return false
}
func (m *Datum) GetRNum() float64 {
if m != nil && m.RNum != nil {
return *m.RNum
}
return 0
}
func (m *Datum) GetRStr() string {
if m != nil && m.RStr != nil {
return *m.RStr
}
return ""
}
func (m *Datum) GetRArray() []*Datum {
if m != nil {
return m.RArray
}
return nil
}
func (m *Datum) GetRObject() []*Datum_AssocPair {
if m != nil {
return m.RObject
}
return nil
}
type Datum_AssocPair struct {
Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
Val *Datum `protobuf:"bytes,2,opt,name=val" json:"val,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Datum_AssocPair) Reset() { *m = Datum_AssocPair{} }
func (m *Datum_AssocPair) String() string { return proto.CompactTextString(m) }
func (*Datum_AssocPair) ProtoMessage() {}
func (m *Datum_AssocPair) GetKey() string {
if m != nil && m.Key != nil {
return *m.Key
}
return ""
}
func (m *Datum_AssocPair) GetVal() *Datum {
if m != nil {
return m.Val
}
return nil
}
// A [Term] is either a piece of data (see **Datum** above), or an operator and
// its operands. If you have a [Datum], it's stored in the member [datum]. If
// you have an operator, its positional arguments are stored in [args] and its
// optional arguments are stored in [optargs].
//
// A note about type signatures:
// We use the following notation to denote types:
// arg1_type, arg2_type, argrest_type... -> result_type
// So, for example, if we have a function `avg` that takes any number of
// arguments and averages them, we might write:
// NUMBER... -> NUMBER
// Or if we had a function that took one number modulo another:
// NUMBER, NUMBER -> NUMBER
// Or a function that takes a table and a primary key of any Datum type, then
// retrieves the entry with that primary key:
// Table, DATUM -> OBJECT
// Some arguments must be provided as literal values (and not the results of sub
// terms). These are marked with a `!`.
// Optional arguments are specified within curly braces as argname `:` value
// type (e.x `{noreply:BOOL}`)
// Many RQL operations are polymorphic. For these, alterantive type signatures
// are separated by `|`.
//
// The RQL type hierarchy is as follows:
// Top
// DATUM
// NULL
// BOOL
// NUMBER
// STRING
// OBJECT
// SingleSelection
// ARRAY
// Sequence
// ARRAY
// Stream
// StreamSelection
// Table
// Database
// Function
// Ordering - used only by ORDER_BY
// Pathspec -- an object, string, or array that specifies a path
// Error
type Term struct {
Type *Term_TermType `protobuf:"varint,1,opt,name=type,enum=Term_TermType" json:"type,omitempty"`
// This is only used when type is DATUM.
Datum *Datum `protobuf:"bytes,2,opt,name=datum" json:"datum,omitempty"`
Args []*Term `protobuf:"bytes,3,rep,name=args" json:"args,omitempty"`
Optargs []*Term_AssocPair `protobuf:"bytes,4,rep,name=optargs" json:"optargs,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Term) Reset() { *m = Term{} }
func (m *Term) String() string { return proto.CompactTextString(m) }
func (*Term) ProtoMessage() {}
func (m *Term) GetType() Term_TermType {
if m != nil && m.Type != nil {
return *m.Type
}
return Term_DATUM
}
func (m *Term) GetDatum() *Datum {
if m != nil {
return m.Datum
}
return nil
}
func (m *Term) GetArgs() []*Term {
if m != nil {
return m.Args
}
return nil
}
func (m *Term) GetOptargs() []*Term_AssocPair {
if m != nil {
return m.Optargs
}
return nil
}
type Term_AssocPair struct {
Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
Val *Term `protobuf:"bytes,2,opt,name=val" json:"val,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Term_AssocPair) Reset() { *m = Term_AssocPair{} }
func (m *Term_AssocPair) String() string { return proto.CompactTextString(m) }
func (*Term_AssocPair) ProtoMessage() {}
func (m *Term_AssocPair) GetKey() string {
if m != nil && m.Key != nil {
return *m.Key
}
return ""
}
func (m *Term_AssocPair) GetVal() *Term {
if m != nil {
return m.Val
}
return nil
}
func init() {
proto.RegisterEnum("VersionDummy_Version", VersionDummy_Version_name, VersionDummy_Version_value)
proto.RegisterEnum("VersionDummy_Protocol", VersionDummy_Protocol_name, VersionDummy_Protocol_value)
proto.RegisterEnum("Query_QueryType", Query_QueryType_name, Query_QueryType_value)
proto.RegisterEnum("Frame_FrameType", Frame_FrameType_name, Frame_FrameType_value)
proto.RegisterEnum("Response_ResponseType", Response_ResponseType_name, Response_ResponseType_value)
proto.RegisterEnum("Response_ErrorType", Response_ErrorType_name, Response_ErrorType_value)
proto.RegisterEnum("Response_ResponseNote", Response_ResponseNote_name, Response_ResponseNote_value)
proto.RegisterEnum("Datum_DatumType", Datum_DatumType_name, Datum_DatumType_value)
proto.RegisterEnum("Term_TermType", Term_TermType_name, Term_TermType_value)
}