rethinkdb 1.2.6.1 → 1.4.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/ql2.pb.rb ADDED
@@ -0,0 +1,615 @@
1
+ ### Generated by rprotoc. DO NOT EDIT!
2
+ ### <proto file: ../../src/rdb_protocol/ql2.proto>
3
+ # ////////////////////////////////////////////////////////////////////////////////
4
+ # // THE HIGH-LEVEL VIEW //
5
+ # ////////////////////////////////////////////////////////////////////////////////
6
+ #
7
+ # // Process: First send the magic number for the version of the protobuf you're
8
+ # // targetting (in the [Version] enum). This should **NOT** be sent as a
9
+ # // protobuf; just send the little-endian 32-bit integer over the wire raw.
10
+ # // Next, send [Query] protobufs and wait for [Response] protobufs with the same
11
+ # // token. You can see an example exchange below in **EXAMPLE**.
12
+ #
13
+ # // A query consists of a [Term] to evaluate and a unique-per-connection
14
+ # // [token].
15
+ #
16
+ # // Tokens are used for two things:
17
+ # // * Keeping track of which responses correspond to which queries.
18
+ # // * Batched queries. Some queries return lots of results, so we send back
19
+ # // batches of <1000, and you need to send a [CONTINUE] query with the same
20
+ # // token to get more results from the original query.
21
+ # ////////////////////////////////////////////////////////////////////////////////
22
+ #
23
+ # // This enum contains the magic numbers for your version. See **THE HIGH-LEVEL
24
+ # // VIEW** for what to do with it.
25
+ # message VersionDummy { // We need to wrap it like this for some
26
+ # // non-conforming protobuf libraries
27
+ # enum Version {
28
+ # V0_1 = 0x3f61ba36;
29
+ # };
30
+ # };
31
+ #
32
+ # // You send one of:
33
+ # // * A [START] query with a [Term] to evaluate and a unique-per-connection token.
34
+ # // * A [CONTINUE] query with the same token as a [START] query that returned
35
+ # // [SUCCESS_PARTIAL] in its [Response].
36
+ # // * A [STOP] query with the same token as a [START] query that you want to stop.
37
+ # message Query {
38
+ # enum QueryType {
39
+ # START = 1; // Start a new query.
40
+ # CONTINUE = 2; // Continue a query that returned [SUCCESS_PARTIAL]
41
+ # // (see [Response]).
42
+ # STOP = 3; // Stop a query partway through executing.
43
+ # };
44
+ # optional QueryType type = 1;
45
+ # // A [Term] is how we represent the operations we want a query to perform.
46
+ # optional Term query = 2; // only present when [type] = [START]
47
+ # optional int64 token = 3;
48
+ # optional bool noreply = 4 [default = false]; // CURRENTLY IGNORED, NO SERVER SUPPORT
49
+ #
50
+ # message AssocPair {
51
+ # optional string key = 1;
52
+ # optional Term val = 2;
53
+ # };
54
+ # repeated AssocPair global_optargs = 6;
55
+ # };
56
+ #
57
+ # // A backtrace frame (see `backtrace` in Response below)
58
+ # message Frame {
59
+ # enum FrameType {
60
+ # POS = 1; // Error occured in a positional argument.
61
+ # OPT = 2; // Error occured in an optional argument.
62
+ # };
63
+ # optional FrameType type = 1;
64
+ # optional int64 pos = 2; // The index of the positional argument.
65
+ # optional string opt = 3; // The name of the optional argument.
66
+ # };
67
+ # message Backtrace {
68
+ # repeated Frame frames = 1;
69
+ # }
70
+ #
71
+ # // You get back a response with the same [token] as your query.
72
+ # message Response {
73
+ # enum ResponseType {
74
+ # // These response types indicate success.
75
+ # SUCCESS_ATOM = 1; // Query returned a single RQL datatype.
76
+ # SUCCESS_SEQUENCE = 2; // Query returned a sequence of RQL datatypes.
77
+ # SUCCESS_PARTIAL = 3; // Query returned a partial sequence of RQL
78
+ # // datatypes. If you send a [CONTINUE] query with
79
+ # // the same token as this response, you will get
80
+ # // more of the sequence. Keep sending [CONTINUE]
81
+ # // queries until you get back [SUCCESS_SEQUENCE].
82
+ #
83
+ # // These response types indicate failure.
84
+ # CLIENT_ERROR = 16; // Means the client is buggy. An example is if the
85
+ # // client sends a malformed protobuf, or tries to
86
+ # // send [CONTINUE] for an unknown token.
87
+ # COMPILE_ERROR = 17; // Means the query failed during parsing or type
88
+ # // checking. For example, if you pass too many
89
+ # // arguments to a function.
90
+ # RUNTIME_ERROR = 18; // Means the query failed at runtime. An example is
91
+ # // if you add together two values from a table, but
92
+ # // they turn out at runtime to be booleans rather
93
+ # // than numbers.
94
+ # };
95
+ # optional ResponseType type = 1;
96
+ # optional int64 token = 2; // Indicates what [Query] this response corresponds to.
97
+ #
98
+ # // [response] contains 1 RQL datum if [type] is [SUCCESS_ATOM], or many RQL
99
+ # // data if [type] is [SUCCESS_SEQUENCE] or [SUCCESS_PARTIAL]. It contains 1
100
+ # // error message (of type [R_STR]) in all other cases.
101
+ # repeated Datum response = 3;
102
+ #
103
+ # // If [type] is [CLIENT_ERROR], [TYPE_ERROR], or [RUNTIME_ERROR], then a
104
+ # // backtrace will be provided. The backtrace says where in the query the
105
+ # // error occured. Ideally this information will be presented to the user as
106
+ # // a pretty-printed version of their query with the erroneous section
107
+ # // underlined. A backtrace is a series of 0 or more [Frame]s, each of which
108
+ # // specifies either the index of a positional argument or the name of an
109
+ # // optional argument. (Those words will make more sense if you look at the
110
+ # // [Term] message below.)
111
+ #
112
+ # optional Backtrace backtrace = 4; // Contains n [Frame]s when you get back an error.
113
+ # };
114
+ #
115
+ # // A [Datum] is a chunk of data that can be serialized to disk or returned to
116
+ # // the user in a Response. Currently we only support JSON types, but we may
117
+ # // support other types in the future (e.g., a date type or an integer type).
118
+ # message Datum {
119
+ # enum DatumType {
120
+ # R_NULL = 1;
121
+ # R_BOOL = 2;
122
+ # R_NUM = 3; // a double
123
+ # R_STR = 4;
124
+ # R_ARRAY = 5;
125
+ # R_OBJECT = 6;
126
+ # };
127
+ # optional DatumType type = 1;
128
+ # optional bool r_bool = 2;
129
+ # optional double r_num = 3;
130
+ # optional string r_str = 4;
131
+ #
132
+ # repeated Datum r_array = 5;
133
+ # message AssocPair {
134
+ # optional string key = 1;
135
+ # optional Datum val = 2;
136
+ # };
137
+ # repeated AssocPair r_object = 6;
138
+ #
139
+ # extensions 10000 to 20000;
140
+ # };
141
+ #
142
+ # // A [Term] is either a piece of data (see **Datum** above), or an operator and
143
+ # // its operands. If you have a [Datum], it's stored in the member [datum]. If
144
+ # // you have an operator, its positional arguments are stored in [args] and its
145
+ # // optional arguments are stored in [optargs].
146
+ # //
147
+ # // A note about type signatures:
148
+ # // We use the following notation to denote types:
149
+ # // arg1_type, arg2_type, argrest_type... -> result_type
150
+ # // So, for example, if we have a function `avg` that takes any number of
151
+ # // arguments and averages them, we might write:
152
+ # // NUMBER... -> NUMBER
153
+ # // Or if we had a function that took one number modulo another:
154
+ # // NUMBER, NUMBER -> NUMBER
155
+ # // Or a function that takes a table and a primary key of any Datum type, then
156
+ # // retrieves the entry with that primary key:
157
+ # // Table, DATUM -> OBJECT
158
+ # // Some arguments must be provided as literal values (and not the results of sub
159
+ # // terms). These are marked with a `!`.
160
+ # // Optional arguments are specified within curly braces as argname `:` value
161
+ # // type (e.x `{use_outdated:BOOL}`)
162
+ # // The RQL type hierarchy is as follows:
163
+ # // Top
164
+ # // DATUM
165
+ # // NULL
166
+ # // BOOL
167
+ # // NUMBER
168
+ # // STRING
169
+ # // OBJECT
170
+ # // SingleSelection
171
+ # // ARRAY
172
+ # // Sequence
173
+ # // ARRAY
174
+ # // Stream
175
+ # // StreamSelection
176
+ # // Table
177
+ # // Database
178
+ # // Function
179
+ # // Error
180
+ # message Term {
181
+ # enum TermType {
182
+ # // A RQL datum, stored in `datum` below.
183
+ # DATUM = 1;
184
+ #
185
+ # MAKE_ARRAY = 2; // DATUM... -> ARRAY
186
+ # // Evaluate the terms in [optargs] and make an object
187
+ # MAKE_OBJ = 3; // {...} -> OBJECT
188
+ #
189
+ # // * Compound types
190
+ # // Takes an integer representing a variable and returns the value stored
191
+ # // in that variable. It's the responsibility of the client to translate
192
+ # // from their local representation of a variable to a unique integer for
193
+ # // that variable. (We do it this way instead of letting clients provide
194
+ # // variable names as strings to discourage variable-capturing client
195
+ # // libraries, and because it's more efficient on the wire.)
196
+ # VAR = 10; // !NUMBER -> DATUM
197
+ # // Takes some javascript code and executes it.
198
+ # JAVASCRIPT = 11; // STRING -> DATUM | STRING -> Function(*)
199
+ # // Takes a string and throws an error with that message.
200
+ # ERROR = 12; // STRING -> Error
201
+ # // Takes nothing and returns a reference to the implicit variable.
202
+ # IMPLICIT_VAR = 13; // -> DATUM
203
+ #
204
+ # // * Data Operators
205
+ # // Returns a reference to a database.
206
+ # DB = 14; // STRING -> Database
207
+ # // Returns a reference to a table.
208
+ # TABLE = 15; // Database, STRING, {use_outdated:BOOL} -> Table | STRING, {use_outdated:BOOL} -> Table
209
+ # // Gets a single element from a table by its primary key.
210
+ # GET = 16; // Table, STRING -> SingleSelection | Table, NUMBER -> SingleSelection |
211
+ # // Table, STRING -> NULL | Table, NUMBER -> NULL
212
+ #
213
+ # // Simple DATUM Ops
214
+ # EQ = 17; // DATUM... -> BOOL
215
+ # NE = 18; // DATUM... -> BOOL
216
+ # LT = 19; // DATUM... -> BOOL
217
+ # LE = 20; // DATUM... -> BOOL
218
+ # GT = 21; // DATUM... -> BOOL
219
+ # GE = 22; // DATUM... -> BOOL
220
+ # NOT = 23; // BOOL -> BOOL
221
+ # // ADD can either add two numbers or concatenate two arrays.
222
+ # ADD = 24; // NUMBER... -> NUMBER | STRING... -> STRING
223
+ # SUB = 25; // NUMBER... -> NUMBER
224
+ # MUL = 26; // NUMBER... -> NUMBER
225
+ # DIV = 27; // NUMBER... -> NUMBER
226
+ # MOD = 28; // NUMBER, NUMBER -> NUMBER
227
+ #
228
+ # // DATUM Array Ops
229
+ # // Append a single element to the end of an array (like `snoc`).
230
+ # APPEND = 29; // ARRAY, DATUM -> ARRAY
231
+ # SLICE = 30; // Sequence, NUMBER, NUMBER -> Sequence
232
+ # SKIP = 70; // Sequence, NUMBER -> Sequence
233
+ # LIMIT = 71; // Sequence, NUMBER -> Sequence
234
+ #
235
+ # // Stream/Object Ops
236
+ # // Get a particular attribute out of an object, or map that over a
237
+ # // sequence.
238
+ # GETATTR = 31; // OBJECT, STRING -> DATUM
239
+ # // Check whether an object contains all of a set of attributes, or map
240
+ # // that over a sequence.
241
+ # CONTAINS = 32; // OBJECT, STRING... -> BOOL
242
+ # // Get a subset of an object by selecting some attributes to preserve,
243
+ # // or map that over a sequence. (Both pick and pluck, polymorphic.)
244
+ # PLUCK = 33; // Sequence, STRING... -> Sequence | OBJECT, STRING... -> OBJECT
245
+ # // Get a subset of an object by selecting some attributes to discard, or
246
+ # // map that over a sequence. (Both unpick and without, polymorphic.)
247
+ # WITHOUT = 34; // Sequence, STRING... -> Sequence | OBJECT, STRING... -> OBJECT
248
+ # // Merge objects (right-preferential)
249
+ # MERGE = 35; // OBJECT... -> OBJECT | Sequence -> Sequence
250
+ #
251
+ # // Sequence Ops
252
+ # // Get all elements of a sequence between two values.
253
+ # BETWEEN = 36; // StreamSelection, {left_bound:DATUM, right_bound:DATUM} -> StreamSelection
254
+ # REDUCE = 37; // Sequence, Function(2), {base:DATUM} -> DATUM
255
+ # MAP = 38; // Sequence, Function(1) -> Sequence
256
+ # FILTER = 39; // Sequence, Function(1) -> Sequence | Sequence, OBJECT -> Sequence
257
+ # // Map a function over a sequence and then concatenate the results together.
258
+ # CONCATMAP = 40; // Sequence, Function(1) -> Sequence
259
+ # // Order a sequence based on one or more attributes.
260
+ # ORDERBY = 41; // Sequence, !STRING... -> Sequence
261
+ # // Get all distinct elements of a sequence (like `uniq`).
262
+ # DISTINCT = 42; // Sequence -> Sequence
263
+ # // Count the number of elements in a sequence.
264
+ # COUNT = 43; // Sequence -> NUMBER
265
+ # // Take the union of multiple sequences (preserves duplicate elements! (use distinct)).
266
+ # UNION = 44; // Sequence... -> Sequence
267
+ # // Get the Nth element of a sequence.
268
+ # NTH = 45; // Sequence, NUMBER -> DATUM
269
+ # // Takes a sequence, and three functions:
270
+ # // - A function to group the sequence by.
271
+ # // - A function to map over the groups.
272
+ # // - A reduction to apply to each of the groups.
273
+ # GROUPED_MAP_REDUCE = 46; // Sequence, Function(1), Function(1), Function(2), {base:DATUM} -> Sequence
274
+ # // Groups a sequence by one or more attributes, and then applies a reduction.
275
+ # GROUPBY = 47; // Sequence, ARRAY, !OBJECT -> Sequence
276
+ # INNER_JOIN = 48; // Sequence, Sequence, Function(2) -> Sequence
277
+ # OUTER_JOIN = 49; // Sequence, Sequence, Function(2) -> Sequence
278
+ # // An inner-join that does an equality comparison on two attributes.
279
+ # EQ_JOIN = 50; // Sequence, !STRING, Sequence -> Sequence
280
+ # ZIP = 72; // Sequence -> Sequence
281
+ #
282
+ #
283
+ # // * Type Ops
284
+ # // Coerces a datum to a named type (e.g. "bool").
285
+ # // If you previously used `stream_to_array`, you should use this instead
286
+ # // with the type "array".
287
+ # COERCE_TO = 51; // Top, STRING -> Top
288
+ # // Returns the named type of a datum (e.g. TYPEOF(true) = "BOOL")
289
+ # TYPEOF = 52; // Top -> STRING
290
+ #
291
+ # // * Write Ops (the OBJECTs contain data about number of errors etc.)
292
+ # // Updates all the rows in a selection. Calls its Function with the row
293
+ # // to be updated, and then merges the result of that call.
294
+ # UPDATE = 53; // StreamSelection, Function(1), {non_atomic:BOOL} -> OBJECT |
295
+ # // SingleSelection, Function(1), {non_atomic:BOOL} -> OBJECT |
296
+ # // StreamSelection, OBJECT, {non_atomic:BOOL} -> OBJECT |
297
+ # // SingleSelection, OBJECT, {non_atomic:BOOL} -> OBJECT
298
+ # // Deletes all the rows in a selection.
299
+ # DELETE = 54; // StreamSelection -> OBJECT | SingleSelection -> OBJECT
300
+ # // Replaces all the rows in a selection. Calls its Function with the row
301
+ # // to be replaced, and then discards it and stores the result of that
302
+ # // call.
303
+ # REPLACE = 55; // StreamSelection, Function(1), {non_atomic:BOOL} -> OBJECT | SingleSelection, Function(1), {non_atomic:BOOL} -> OBJECT
304
+ # // Inserts into a table. If `upsert` is true, overwrites entries with
305
+ # // the same primary key (otherwise errors).
306
+ # INSERT = 56; // Table, OBJECT, {upsert:BOOL} -> OBJECT | Table, Sequence, {upsert:BOOL} -> OBJECT
307
+ #
308
+ # // * Administrative OPs
309
+ # // Creates a database with a particular name.
310
+ # DB_CREATE = 57; // STRING -> OBJECT
311
+ # // Drops a database with a particular name.
312
+ # DB_DROP = 58; // STRING -> OBJECT
313
+ # // Lists all the databases by name. (Takes no arguments)
314
+ # DB_LIST = 59; // -> ARRAY
315
+ # // Creates a table with a particular name in a particular database.
316
+ # TABLE_CREATE = 60; // Database, STRING, {datacenter:STRING, primary_key:STRING, cache_size:NUMBER} -> OBJECT
317
+ # // Drops a table with a particular name from a particular database.
318
+ # TABLE_DROP = 61; // Database, STRING -> OBJECT
319
+ # // Lists all the tables in a particular database.
320
+ # TABLE_LIST = 62; // Database -> ARRAY
321
+ #
322
+ # // * Control Operators
323
+ # // Calls a function on data
324
+ # FUNCALL = 64; // Function(*), DATUM... -> DATUM
325
+ # // Executes its first argument, and returns its second argument if it
326
+ # // got [true] or its third argument if it got [false] (like an `if`
327
+ # // statement).
328
+ # BRANCH = 65; // BOOL, Top, Top -> Top
329
+ # // Returns true if any of its arguments returns true (short-circuits).
330
+ # // (Like `or` in most languages.)
331
+ # ANY = 66; // BOOL... -> BOOL
332
+ # // Returns true if all of its arguments return true (short-circuits).
333
+ # // (Like `and` in most languages.)
334
+ # ALL = 67; // BOOL... -> BOOL
335
+ # // Calls its Function with each entry in the sequence
336
+ # // and executes the array of terms that Function returns.
337
+ # FOREACH = 68; // Sequence, Function(1) -> OBJECT
338
+ #
339
+ # ////////////////////////////////////////////////////////////////////////////////
340
+ # ////////// Special Terms
341
+ # ////////////////////////////////////////////////////////////////////////////////
342
+ #
343
+ # // An anonymous function. Takes an array of numbers representing
344
+ # // variables (see [VAR] above), and a [Term] to execute with those in
345
+ # // scope. Returns a function that may be passed an array of arguments,
346
+ # // then executes the Term with those bound to the variable names. The
347
+ # // user will never construct this directly. We use it internally for
348
+ # // things like `map` which take a function. The "arity" of a [Function] is
349
+ # // the number of arguments it takes.
350
+ # // For example, here's what `_X_.map{|x| x+2}` turns into:
351
+ # // Term {
352
+ # // type = MAP;
353
+ # // args = [_X_,
354
+ # // Term {
355
+ # // type = Function;
356
+ # // args = [Term {
357
+ # // type = DATUM;
358
+ # // datum = Datum {
359
+ # // type = R_ARRAY;
360
+ # // r_array = [Datum { type = R_NUM; r_num = 1; }];
361
+ # // };
362
+ # // },
363
+ # // Term {
364
+ # // type = ADD;
365
+ # // args = [Term {
366
+ # // type = VAR;
367
+ # // args = [Term {
368
+ # // type = DATUM;
369
+ # // datum = Datum { type = R_NUM; r_num = 1};
370
+ # // }];
371
+ # // },
372
+ # // Term {
373
+ # // type = DATUM;
374
+ # // datum = Datum { type = R_NUM; r_num = 2; };
375
+ # // }];
376
+ # // }];
377
+ # // }];
378
+ # FUNC = 69; // ARRAY, Top -> ARRAY -> Top
379
+ #
380
+ # ASC = 73;
381
+ # DESC = 74;
382
+ # };
383
+ # optional TermType type = 1;
384
+ #
385
+ # // This is only used when type is DATUM.
386
+ # optional Datum datum = 2;
387
+ #
388
+ # repeated Term args = 3; // Holds the positional arguments of the query.
389
+ # message AssocPair {
390
+ # optional string key = 1;
391
+ # optional Term val = 2;
392
+ # };
393
+ # repeated AssocPair optargs = 4; // Holds the optional arguments of the query.
394
+ # // (Note that the order of the optional arguments doesn't matter; think of a
395
+ # // Hash.)
396
+ #
397
+ # extensions 10000 to 20000;
398
+ # };
399
+ #
400
+ # ////////////////////////////////////////////////////////////////////////////////
401
+ # // EXAMPLE //
402
+ # ////////////////////////////////////////////////////////////////////////////////
403
+ # // ```ruby
404
+ # // r.table('tbl', {:use_outdated => true}).insert([{:id => 0}, {:id => 1}])
405
+ # // ```
406
+ # // Would turn into:
407
+ # // Term {
408
+ # // type = INSERT;
409
+ # // args = [Term {
410
+ # // type = TABLE;
411
+ # // args = [Term {
412
+ # // type = R_DATUM;
413
+ # // r_datum = Datum { type = R_STR; r_str = "tbl"; };
414
+ # // }];
415
+ # // optargs = [["use_outdated",
416
+ # // Term {
417
+ # // type = R_DATUM;
418
+ # // r_datum = Datum { type = R_BOOL; r_bool = true; };
419
+ # // }]];
420
+ # // },
421
+ # // Term {
422
+ # // type = R_ARRAY;
423
+ # // args = [Term {
424
+ # // type = R_DATUM;
425
+ # // r_datum = Datum { type = R_OBJECT; r_object = [["id", 0]]; };
426
+ # // },
427
+ # // Term {
428
+ # // type = R_DATUM;
429
+ # // r_datum = Datum { type = R_OBJECT; r_object = [["id", 1]]; };
430
+ # // }];
431
+ # // }]
432
+ # // }
433
+ # // And the server would reply:
434
+ # // Response {
435
+ # // type = SUCCESS_ATOM;
436
+ # // token = 1;
437
+ # // response = [Datum { type = R_OBJECT; r_object = [["inserted", 2]]; }];
438
+ # // }
439
+ # // Or, if there were an error:
440
+ # // Response {
441
+ # // type = RUNTIME_ERROR;
442
+ # // token = 1;
443
+ # // response = [Datum { type = R_STR; r_str = "The table `tbl` doesn't exist!"; }];
444
+ # // backtrace = [Frame { type = POS; pos = 0; }, Frame { type = POS; pos = 0; }];
445
+ # // }
446
+
447
+ require 'protobuf/message/message'
448
+ require 'protobuf/message/enum'
449
+ require 'protobuf/message/service'
450
+ require 'protobuf/message/extend'
451
+
452
+ class VersionDummy < ::Protobuf::Message
453
+ defined_in __FILE__
454
+ class Version < ::Protobuf::Enum
455
+ defined_in __FILE__
456
+ V0_1 = value(:V0_1, 1063369270)
457
+ end
458
+ end
459
+ class Query < ::Protobuf::Message
460
+ defined_in __FILE__
461
+ class QueryType < ::Protobuf::Enum
462
+ defined_in __FILE__
463
+ START = value(:START, 1)
464
+ CONTINUE = value(:CONTINUE, 2)
465
+ STOP = value(:STOP, 3)
466
+ end
467
+ optional :QueryType, :type, 1
468
+ optional :Term, :query, 2
469
+ optional :int64, :token, 3
470
+ optional :bool, :noreply, 4, :default => false
471
+ class AssocPair < ::Protobuf::Message
472
+ defined_in __FILE__
473
+ optional :string, :key, 1
474
+ optional :Term, :val, 2
475
+ end
476
+ repeated :AssocPair, :global_optargs, 6
477
+ end
478
+ class Frame < ::Protobuf::Message
479
+ defined_in __FILE__
480
+ class FrameType < ::Protobuf::Enum
481
+ defined_in __FILE__
482
+ POS = value(:POS, 1)
483
+ OPT = value(:OPT, 2)
484
+ end
485
+ optional :FrameType, :type, 1
486
+ optional :int64, :pos, 2
487
+ optional :string, :opt, 3
488
+ end
489
+ class Backtrace < ::Protobuf::Message
490
+ defined_in __FILE__
491
+ repeated :Frame, :frames, 1
492
+ end
493
+ class Response < ::Protobuf::Message
494
+ defined_in __FILE__
495
+ class ResponseType < ::Protobuf::Enum
496
+ defined_in __FILE__
497
+ SUCCESS_ATOM = value(:SUCCESS_ATOM, 1)
498
+ SUCCESS_SEQUENCE = value(:SUCCESS_SEQUENCE, 2)
499
+ SUCCESS_PARTIAL = value(:SUCCESS_PARTIAL, 3)
500
+ CLIENT_ERROR = value(:CLIENT_ERROR, 16)
501
+ COMPILE_ERROR = value(:COMPILE_ERROR, 17)
502
+ RUNTIME_ERROR = value(:RUNTIME_ERROR, 18)
503
+ end
504
+ optional :ResponseType, :type, 1
505
+ optional :int64, :token, 2
506
+ repeated :Datum, :response, 3
507
+ optional :Backtrace, :backtrace, 4
508
+ end
509
+ class Datum < ::Protobuf::Message
510
+ defined_in __FILE__
511
+ class DatumType < ::Protobuf::Enum
512
+ defined_in __FILE__
513
+ R_NULL = value(:R_NULL, 1)
514
+ R_BOOL = value(:R_BOOL, 2)
515
+ R_NUM = value(:R_NUM, 3)
516
+ R_STR = value(:R_STR, 4)
517
+ R_ARRAY = value(:R_ARRAY, 5)
518
+ R_OBJECT = value(:R_OBJECT, 6)
519
+ end
520
+ optional :DatumType, :type, 1
521
+ optional :bool, :r_bool, 2
522
+ optional :double, :r_num, 3
523
+ optional :string, :r_str, 4
524
+ repeated :Datum, :r_array, 5
525
+ class AssocPair < ::Protobuf::Message
526
+ defined_in __FILE__
527
+ optional :string, :key, 1
528
+ optional :Datum, :val, 2
529
+ end
530
+ repeated :AssocPair, :r_object, 6
531
+ extensions 10000..20000
532
+ end
533
+ class Term < ::Protobuf::Message
534
+ defined_in __FILE__
535
+ class TermType < ::Protobuf::Enum
536
+ defined_in __FILE__
537
+ DATUM = value(:DATUM, 1)
538
+ MAKE_ARRAY = value(:MAKE_ARRAY, 2)
539
+ MAKE_OBJ = value(:MAKE_OBJ, 3)
540
+ VAR = value(:VAR, 10)
541
+ JAVASCRIPT = value(:JAVASCRIPT, 11)
542
+ ERROR = value(:ERROR, 12)
543
+ IMPLICIT_VAR = value(:IMPLICIT_VAR, 13)
544
+ DB = value(:DB, 14)
545
+ TABLE = value(:TABLE, 15)
546
+ GET = value(:GET, 16)
547
+ EQ = value(:EQ, 17)
548
+ NE = value(:NE, 18)
549
+ LT = value(:LT, 19)
550
+ LE = value(:LE, 20)
551
+ GT = value(:GT, 21)
552
+ GE = value(:GE, 22)
553
+ NOT = value(:NOT, 23)
554
+ ADD = value(:ADD, 24)
555
+ SUB = value(:SUB, 25)
556
+ MUL = value(:MUL, 26)
557
+ DIV = value(:DIV, 27)
558
+ MOD = value(:MOD, 28)
559
+ APPEND = value(:APPEND, 29)
560
+ SLICE = value(:SLICE, 30)
561
+ SKIP = value(:SKIP, 70)
562
+ LIMIT = value(:LIMIT, 71)
563
+ GETATTR = value(:GETATTR, 31)
564
+ CONTAINS = value(:CONTAINS, 32)
565
+ PLUCK = value(:PLUCK, 33)
566
+ WITHOUT = value(:WITHOUT, 34)
567
+ MERGE = value(:MERGE, 35)
568
+ BETWEEN = value(:BETWEEN, 36)
569
+ REDUCE = value(:REDUCE, 37)
570
+ MAP = value(:MAP, 38)
571
+ FILTER = value(:FILTER, 39)
572
+ CONCATMAP = value(:CONCATMAP, 40)
573
+ ORDERBY = value(:ORDERBY, 41)
574
+ DISTINCT = value(:DISTINCT, 42)
575
+ COUNT = value(:COUNT, 43)
576
+ UNION = value(:UNION, 44)
577
+ NTH = value(:NTH, 45)
578
+ GROUPED_MAP_REDUCE = value(:GROUPED_MAP_REDUCE, 46)
579
+ GROUPBY = value(:GROUPBY, 47)
580
+ INNER_JOIN = value(:INNER_JOIN, 48)
581
+ OUTER_JOIN = value(:OUTER_JOIN, 49)
582
+ EQ_JOIN = value(:EQ_JOIN, 50)
583
+ ZIP = value(:ZIP, 72)
584
+ COERCE_TO = value(:COERCE_TO, 51)
585
+ TYPEOF = value(:TYPEOF, 52)
586
+ UPDATE = value(:UPDATE, 53)
587
+ DELETE = value(:DELETE, 54)
588
+ REPLACE = value(:REPLACE, 55)
589
+ INSERT = value(:INSERT, 56)
590
+ DB_CREATE = value(:DB_CREATE, 57)
591
+ DB_DROP = value(:DB_DROP, 58)
592
+ DB_LIST = value(:DB_LIST, 59)
593
+ TABLE_CREATE = value(:TABLE_CREATE, 60)
594
+ TABLE_DROP = value(:TABLE_DROP, 61)
595
+ TABLE_LIST = value(:TABLE_LIST, 62)
596
+ FUNCALL = value(:FUNCALL, 64)
597
+ BRANCH = value(:BRANCH, 65)
598
+ ANY = value(:ANY, 66)
599
+ ALL = value(:ALL, 67)
600
+ FOREACH = value(:FOREACH, 68)
601
+ FUNC = value(:FUNC, 69)
602
+ ASC = value(:ASC, 73)
603
+ DESC = value(:DESC, 74)
604
+ end
605
+ optional :TermType, :type, 1
606
+ optional :Datum, :datum, 2
607
+ repeated :Term, :args, 3
608
+ class AssocPair < ::Protobuf::Message
609
+ defined_in __FILE__
610
+ optional :string, :key, 1
611
+ optional :Term, :val, 2
612
+ end
613
+ repeated :AssocPair, :optargs, 4
614
+ extensions 10000..20000
615
+ end