OLD | NEW |
| (Empty) |
1 syntax = "proto2"; | |
2 option go_package = "datastore"; | |
3 | |
4 package appengine; | |
5 | |
6 message Action{} | |
7 | |
8 message PropertyValue { | |
9 optional int64 int64Value = 1; | |
10 optional bool booleanValue = 2; | |
11 optional string stringValue = 3; | |
12 optional double doubleValue = 4; | |
13 | |
14 optional group PointValue = 5 { | |
15 required double x = 6; | |
16 required double y = 7; | |
17 } | |
18 | |
19 optional group UserValue = 8 { | |
20 required string email = 9; | |
21 required string auth_domain = 10; | |
22 optional string nickname = 11; | |
23 optional string federated_identity = 21; | |
24 optional string federated_provider = 22; | |
25 } | |
26 | |
27 optional group ReferenceValue = 12 { | |
28 required string app = 13; | |
29 optional string name_space = 20; | |
30 repeated group PathElement = 14 { | |
31 required string type = 15; | |
32 optional int64 id = 16; | |
33 optional string name = 17; | |
34 } | |
35 } | |
36 } | |
37 | |
38 message Property { | |
39 enum Meaning { | |
40 NO_MEANING = 0; | |
41 BLOB = 14; | |
42 TEXT = 15; | |
43 BYTESTRING = 16; | |
44 | |
45 ATOM_CATEGORY = 1; | |
46 ATOM_LINK = 2; | |
47 ATOM_TITLE = 3; | |
48 ATOM_CONTENT = 4; | |
49 ATOM_SUMMARY = 5; | |
50 ATOM_AUTHOR = 6; | |
51 | |
52 GD_WHEN = 7; | |
53 GD_EMAIL = 8; | |
54 GEORSS_POINT = 9; | |
55 GD_IM = 10; | |
56 | |
57 GD_PHONENUMBER = 11; | |
58 GD_POSTALADDRESS = 12; | |
59 | |
60 GD_RATING = 13; | |
61 | |
62 BLOBKEY = 17; | |
63 ENTITY_PROTO = 19; | |
64 | |
65 INDEX_VALUE = 18; | |
66 }; | |
67 | |
68 optional Meaning meaning = 1 [default = NO_MEANING]; | |
69 optional string meaning_uri = 2; | |
70 | |
71 required string name = 3; | |
72 | |
73 required PropertyValue value = 5; | |
74 | |
75 required bool multiple = 4; | |
76 | |
77 optional bool searchable = 6 [default=false]; | |
78 | |
79 enum FtsTokenizationOption { | |
80 HTML = 1; | |
81 ATOM = 2; | |
82 } | |
83 | |
84 optional FtsTokenizationOption fts_tokenization_option = 8; | |
85 | |
86 optional string locale = 9 [default = "en"]; | |
87 } | |
88 | |
89 message Path { | |
90 repeated group Element = 1 { | |
91 required string type = 2; | |
92 optional int64 id = 3; | |
93 optional string name = 4; | |
94 } | |
95 } | |
96 | |
97 message Reference { | |
98 required string app = 13; | |
99 optional string name_space = 20; | |
100 required Path path = 14; | |
101 } | |
102 | |
103 message User { | |
104 required string email = 1; | |
105 required string auth_domain = 2; | |
106 optional string nickname = 3; | |
107 optional string federated_identity = 6; | |
108 optional string federated_provider = 7; | |
109 } | |
110 | |
111 message EntityProto { | |
112 required Reference key = 13; | |
113 required Path entity_group = 16; | |
114 optional User owner = 17; | |
115 | |
116 enum Kind { | |
117 GD_CONTACT = 1; | |
118 GD_EVENT = 2; | |
119 GD_MESSAGE = 3; | |
120 } | |
121 optional Kind kind = 4; | |
122 optional string kind_uri = 5; | |
123 | |
124 repeated Property property = 14; | |
125 repeated Property raw_property = 15; | |
126 | |
127 optional int32 rank = 18; | |
128 } | |
129 | |
130 message CompositeProperty { | |
131 required int64 index_id = 1; | |
132 repeated string value = 2; | |
133 } | |
134 | |
135 message Index { | |
136 required string entity_type = 1; | |
137 required bool ancestor = 5; | |
138 repeated group Property = 2 { | |
139 required string name = 3; | |
140 enum Direction { | |
141 ASCENDING = 1; | |
142 DESCENDING = 2; | |
143 } | |
144 optional Direction direction = 4 [default = ASCENDING]; | |
145 } | |
146 } | |
147 | |
148 message CompositeIndex { | |
149 required string app_id = 1; | |
150 required int64 id = 2; | |
151 required Index definition = 3; | |
152 | |
153 enum State { | |
154 WRITE_ONLY = 1; | |
155 READ_WRITE = 2; | |
156 DELETED = 3; | |
157 ERROR = 4; | |
158 } | |
159 required State state = 4; | |
160 | |
161 optional bool only_use_if_required = 6 [default = false]; | |
162 } | |
163 | |
164 message IndexPostfix { | |
165 message IndexValue { | |
166 required string property_name = 1; | |
167 required PropertyValue value = 2; | |
168 } | |
169 | |
170 repeated IndexValue index_value = 1; | |
171 | |
172 optional Reference key = 2; | |
173 | |
174 optional bool before = 3 [default=true]; | |
175 } | |
176 | |
177 message IndexPosition { | |
178 optional string key = 1; | |
179 | |
180 optional bool before = 2 [default=true]; | |
181 } | |
182 | |
183 message Snapshot { | |
184 enum Status { | |
185 INACTIVE = 0; | |
186 ACTIVE = 1; | |
187 } | |
188 | |
189 required int64 ts = 1; | |
190 } | |
191 | |
192 message InternalHeader { | |
193 optional string qos = 1; | |
194 } | |
195 | |
196 message Transaction { | |
197 optional InternalHeader header = 4; | |
198 required fixed64 handle = 1; | |
199 required string app = 2; | |
200 optional bool mark_changes = 3 [default = false]; | |
201 } | |
202 | |
203 message Query { | |
204 optional InternalHeader header = 39; | |
205 | |
206 required string app = 1; | |
207 optional string name_space = 29; | |
208 | |
209 optional string kind = 3; | |
210 optional Reference ancestor = 17; | |
211 | |
212 repeated group Filter = 4 { | |
213 enum Operator { | |
214 LESS_THAN = 1; | |
215 LESS_THAN_OR_EQUAL = 2; | |
216 GREATER_THAN = 3; | |
217 GREATER_THAN_OR_EQUAL = 4; | |
218 EQUAL = 5; | |
219 IN = 6; | |
220 EXISTS = 7; | |
221 } | |
222 | |
223 required Operator op = 6; | |
224 repeated Property property = 14; | |
225 } | |
226 | |
227 optional string search_query = 8; | |
228 | |
229 repeated group Order = 9 { | |
230 enum Direction { | |
231 ASCENDING = 1; | |
232 DESCENDING = 2; | |
233 } | |
234 | |
235 required string property = 10; | |
236 optional Direction direction = 11 [default = ASCENDING]; | |
237 } | |
238 | |
239 enum Hint { | |
240 ORDER_FIRST = 1; | |
241 ANCESTOR_FIRST = 2; | |
242 FILTER_FIRST = 3; | |
243 } | |
244 optional Hint hint = 18; | |
245 | |
246 optional int32 count = 23; | |
247 | |
248 optional int32 offset = 12 [default = 0]; | |
249 | |
250 optional int32 limit = 16; | |
251 | |
252 optional CompiledCursor compiled_cursor = 30; | |
253 optional CompiledCursor end_compiled_cursor = 31; | |
254 | |
255 repeated CompositeIndex composite_index = 19; | |
256 | |
257 optional bool require_perfect_plan = 20 [default = false]; | |
258 | |
259 optional bool keys_only = 21 [default = false]; | |
260 | |
261 optional Transaction transaction = 22; | |
262 | |
263 optional bool compile = 25 [default = false]; | |
264 | |
265 optional int64 failover_ms = 26; | |
266 | |
267 optional bool strong = 32; | |
268 | |
269 repeated string property_name = 33; | |
270 | |
271 repeated string group_by_property_name = 34; | |
272 | |
273 optional bool distinct = 24; | |
274 | |
275 optional int64 min_safe_time_seconds = 35; | |
276 | |
277 repeated string safe_replica_name = 36; | |
278 | |
279 optional bool persist_offset = 37 [default=false]; | |
280 } | |
281 | |
282 message CompiledQuery { | |
283 required group PrimaryScan = 1 { | |
284 optional string index_name = 2; | |
285 | |
286 optional string start_key = 3; | |
287 optional bool start_inclusive = 4; | |
288 optional string end_key = 5; | |
289 optional bool end_inclusive = 6; | |
290 | |
291 repeated string start_postfix_value = 22; | |
292 repeated string end_postfix_value = 23; | |
293 | |
294 optional int64 end_unapplied_log_timestamp_us = 19; | |
295 } | |
296 | |
297 repeated group MergeJoinScan = 7 { | |
298 required string index_name = 8; | |
299 | |
300 repeated string prefix_value = 9; | |
301 | |
302 optional bool value_prefix = 20 [default=false]; | |
303 } | |
304 | |
305 optional Index index_def = 21; | |
306 | |
307 optional int32 offset = 10 [default = 0]; | |
308 | |
309 optional int32 limit = 11; | |
310 | |
311 required bool keys_only = 12; | |
312 | |
313 repeated string property_name = 24; | |
314 | |
315 optional int32 distinct_infix_size = 25; | |
316 | |
317 optional group EntityFilter = 13 { | |
318 optional bool distinct = 14 [default=false]; | |
319 | |
320 optional string kind = 17; | |
321 optional Reference ancestor = 18; | |
322 } | |
323 } | |
324 | |
325 message CompiledCursor { | |
326 optional group Position = 2 { | |
327 optional string start_key = 27; | |
328 | |
329 repeated group IndexValue = 29 { | |
330 optional string property = 30; | |
331 required PropertyValue value = 31; | |
332 } | |
333 | |
334 optional Reference key = 32; | |
335 | |
336 optional bool start_inclusive = 28 [default=true]; | |
337 } | |
338 } | |
339 | |
340 message Cursor { | |
341 required fixed64 cursor = 1; | |
342 | |
343 optional string app = 2; | |
344 } | |
345 | |
346 message Error { | |
347 enum ErrorCode { | |
348 BAD_REQUEST = 1; | |
349 CONCURRENT_TRANSACTION = 2; | |
350 INTERNAL_ERROR = 3; | |
351 NEED_INDEX = 4; | |
352 TIMEOUT = 5; | |
353 PERMISSION_DENIED = 6; | |
354 BIGTABLE_ERROR = 7; | |
355 COMMITTED_BUT_STILL_APPLYING = 8; | |
356 CAPABILITY_DISABLED = 9; | |
357 TRY_ALTERNATE_BACKEND = 10; | |
358 SAFE_TIME_TOO_OLD = 11; | |
359 } | |
360 } | |
361 | |
362 message Cost { | |
363 optional int32 index_writes = 1; | |
364 optional int32 index_write_bytes = 2; | |
365 optional int32 entity_writes = 3; | |
366 optional int32 entity_write_bytes = 4; | |
367 optional group CommitCost = 5 { | |
368 optional int32 requested_entity_puts = 6; | |
369 optional int32 requested_entity_deletes = 7; | |
370 }; | |
371 optional int32 approximate_storage_delta = 8; | |
372 optional int32 id_sequence_updates = 9; | |
373 } | |
374 | |
375 message GetRequest { | |
376 optional InternalHeader header = 6; | |
377 | |
378 repeated Reference key = 1; | |
379 optional Transaction transaction = 2; | |
380 | |
381 optional int64 failover_ms = 3; | |
382 | |
383 optional bool strong = 4; | |
384 | |
385 optional bool allow_deferred = 5 [default=false]; | |
386 } | |
387 | |
388 message GetResponse { | |
389 repeated group Entity = 1 { | |
390 optional EntityProto entity = 2; | |
391 optional Reference key = 4; | |
392 | |
393 optional int64 version = 3; | |
394 } | |
395 | |
396 repeated Reference deferred = 5; | |
397 | |
398 optional bool in_order = 6 [default=true]; | |
399 } | |
400 | |
401 message PutRequest { | |
402 optional InternalHeader header = 11; | |
403 | |
404 repeated EntityProto entity = 1; | |
405 optional Transaction transaction = 2; | |
406 repeated CompositeIndex composite_index = 3; | |
407 | |
408 optional bool trusted = 4 [default = false]; | |
409 | |
410 optional bool force = 7 [default = false]; | |
411 | |
412 optional bool mark_changes = 8 [default = false]; | |
413 repeated Snapshot snapshot = 9; | |
414 | |
415 enum AutoIdPolicy { | |
416 CURRENT = 0; | |
417 SEQUENTIAL = 1; | |
418 } | |
419 optional AutoIdPolicy auto_id_policy = 10 [default = CURRENT]; | |
420 } | |
421 | |
422 message PutResponse { | |
423 repeated Reference key = 1; | |
424 optional Cost cost = 2; | |
425 repeated int64 version = 3; | |
426 } | |
427 | |
428 message TouchRequest { | |
429 optional InternalHeader header = 10; | |
430 | |
431 repeated Reference key = 1; | |
432 repeated CompositeIndex composite_index = 2; | |
433 optional bool force = 3 [default = false]; | |
434 repeated Snapshot snapshot = 9; | |
435 } | |
436 | |
437 message TouchResponse { | |
438 optional Cost cost = 1; | |
439 } | |
440 | |
441 message DeleteRequest { | |
442 optional InternalHeader header = 10; | |
443 | |
444 repeated Reference key = 6; | |
445 optional Transaction transaction = 5; | |
446 | |
447 optional bool trusted = 4 [default = false]; | |
448 | |
449 optional bool force = 7 [default = false]; | |
450 | |
451 optional bool mark_changes = 8 [default = false]; | |
452 repeated Snapshot snapshot = 9; | |
453 } | |
454 | |
455 message DeleteResponse { | |
456 optional Cost cost = 1; | |
457 repeated int64 version = 3; | |
458 } | |
459 | |
460 message NextRequest { | |
461 optional InternalHeader header = 5; | |
462 | |
463 required Cursor cursor = 1; | |
464 optional int32 count = 2; | |
465 | |
466 optional int32 offset = 4 [default = 0]; | |
467 | |
468 optional bool compile = 3 [default = false]; | |
469 } | |
470 | |
471 message QueryResult { | |
472 optional Cursor cursor = 1; | |
473 | |
474 repeated EntityProto result = 2; | |
475 | |
476 optional int32 skipped_results = 7; | |
477 | |
478 required bool more_results = 3; | |
479 | |
480 optional bool keys_only = 4; | |
481 | |
482 optional bool index_only = 9; | |
483 | |
484 optional bool small_ops = 10; | |
485 | |
486 optional CompiledQuery compiled_query = 5; | |
487 | |
488 optional CompiledCursor compiled_cursor = 6; | |
489 | |
490 repeated CompositeIndex index = 8; | |
491 | |
492 repeated int64 version = 11; | |
493 } | |
494 | |
495 message AllocateIdsRequest { | |
496 optional InternalHeader header = 4; | |
497 | |
498 optional Reference model_key = 1; | |
499 | |
500 optional int64 size = 2; | |
501 | |
502 optional int64 max = 3; | |
503 | |
504 repeated Reference reserve = 5; | |
505 } | |
506 | |
507 message AllocateIdsResponse { | |
508 required int64 start = 1; | |
509 required int64 end = 2; | |
510 optional Cost cost = 3; | |
511 } | |
512 | |
513 message CompositeIndices { | |
514 repeated CompositeIndex index = 1; | |
515 } | |
516 | |
517 message AddActionsRequest { | |
518 optional InternalHeader header = 3; | |
519 | |
520 required Transaction transaction = 1; | |
521 repeated Action action = 2; | |
522 } | |
523 | |
524 message AddActionsResponse { | |
525 } | |
526 | |
527 message BeginTransactionRequest { | |
528 optional InternalHeader header = 3; | |
529 | |
530 required string app = 1; | |
531 optional bool allow_multiple_eg = 2 [default = false]; | |
532 } | |
533 | |
534 message CommitResponse { | |
535 optional Cost cost = 1; | |
536 | |
537 repeated group Version = 3 { | |
538 required Reference root_entity_key = 4; | |
539 required int64 version = 5; | |
540 } | |
541 } | |
OLD | NEW |