| 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 |