Get desktop application:
View/edit binary Protocol Buffers messages
Used as request type in: datastore_v3.DatastoreService.CreateIndex, datastore_v3.DatastoreService.DeleteIndex, datastore_v3.DatastoreService.UpdateIndex
Used as field type in: , , ,
The app that owns this composite index.
The index's ID. Used in CompositeProperty.
The index definition, including the entity type and properties.
WRITE_ONLY indices have been created, but are not yet fully populated. Composite properties for them must be populated when entities are Put, but they may not yet be used to execute queries. READ_WRITE indices are fully populated. They may be used to execute queries. Like WRITE_ONLY, composite properties for them must be populated on Puts. DELETED indices are marked for eventual deletion from the CompositeIndices table. They should be disregarded for both queries and Puts. ERROR indices encountered an error while being built or deleted. They should be disregarded for both queries and Puts. The allowed state changes are: WRITE_ONLY => READ_WRITE WRITE_ONLY => DELETED WRITE_ONLY => ERROR READ_WRITE => DELETED ERROR => DELETED DELETED => ERROR
Used in:
Composite properties for composite indexes. These are populated by the datastore implementation based on the entity's properties and the application-defined custom indexes.
The ID of the associated composite index.
The first value element is the ancestor, if the index calls for it, as a byte-encoded Path. The rest are the properties in the index, in order, as byte-encoded PropertyValues. A byte-encoding format is used. The descending byte-encoding format is used if the property should be sorted in descending order. As with PropertyValue, embedded Path and PropertyValue fields aren't used because we can't index nested PBs.
Used in: , , , ,
This entity's primary key. Contains app name and path.
This entity's group. By default, this is the top-level entity's path.
The user who was logged in when this entity was created. This is currently unused.
If requested, raw URIs may be used to define a semantic kind for an entity. This is less efficient, but allows anything to be expressed, and popular URIs may be converted to enum Kind values later.
Properties that should be indexed by value go in the property field. Properties that shouldn't, like blobs and long text fields (e.g. XML), go in raw_property.
Kinds represent particular semantic kinds of entities. Entity kinds are akin to GDNamespace kinds, which are richer than a single property, and represent a set of properties. Essentially, this is the direct analogue of Meaning, but on a whole-entity level.
Used in:
GDNamespace kinds:
a contact, such as a person, venue, organization
a calendar event
such as an email, a discussion group posting
Used in: ,
The type of entity being indexed.
If true, each of the entity's ancestors will be included. Each direct ancestor is indexed separately in its own composite property. For example, an entity with the path /Blog,1/Post,2/Comment,3 would have separate composite properties for /Blog,1 and /Blog,1/Post,2.
A sequence of property names and directions.
Used in:
Used in:
A path; also used as an Entity Group key. This is an ordered list of (type, id or name) tuples. Each element should have either an id or a name, but not both. Clarification: "so, yeah, it's a little tricky. that comment correctly describes all Path PBs that refer to *complete* keys. for new entities that haven't been inserted yet, and don't use name, the datastore will allocate them an id when they're inserted. given that, their keys are incomplete until they're inserted. so, when the runtime sends them to the datastore in a PutRequest, they won't have an id yet, so the last path element will only have type, not id or name."
Used in: , , ,
Used in:
In paths that have been persisted, one and only one of the following should be set.
Used in: ,
Meanings are optional. If they are not provided, some amount of meaning may already be implied by the underlying storage type, such as User or Reference.
If requested, raw URIs may be used to define semantic meaning for a property. This is less efficient, but allows anything to be expressed, and popular URIs may be converted to enum Meaning values later.
The name of this property.
The property value.
Whether this property is multiply valued or not. (If true, it may have multiple values now, or it may be *intended* to have multiple values eventually, even if it has just one now.) This is currently used as sugar for the native language datastore APIs, so they know whether to return a property value as a single value or a list.
Meanings usually, but not always, have a functional relationship to storage type. Some don't, however: an ATOM_AUTHOR might be a User or a string, depending on what was stored.
Used in:
NOTE: using meaning to indicate blobs and text is a double-edged sword. if future semantic meanings are also text or blobs, they'll need to be special-cased in code.
raw binary data, of any length
a UTF-8 encoded string, of any length
from the http://www.w3.org/2005/Atom namespace. see http://www.atomenabled.org/developers/syndication/
a tag
a URI
a human readable title
the main "content" of the entity
a human readable short summary
the author, a person
from the http://schemas.google.com/g/2005 namespace. see http://code.google.com/apis/gdata/common-elements.html many elements are missing, notably gd:entryLink, gd:feedLink, gd:originalEvent, gd:recurrence*, gd:where, and gd:who. use REFERENCE, ATOM_LINK, GD_POSTALADDRESS, GD_GEOPT, and the Contact entity instead.
timestamp, as int64 microseconds since the epoch
RFC 2822 email address
"lat,long"
IANA-style URI, e.g. xmpp:heaven@gmail.com
or aim:goim?screenname=bl4ize
human-readable phone number, any format
human-readable postal address. leading and
trailing whitespace are stripped; embedded newlines and whitespace are significant.
an integer rating in [0, 100].
The PropertyValue PB represents a property value. One and only one of the value fields should be set. This is enforced in code.
Used in: , ,
primitives
composites. keep these in sync with the composites of the first-class PBs below.
Used in:
NOTE: Because of indexing restrictions, we cannot use the stand-alone Reference and Path PBs defined below. If you amend this group, amend those PB definitions in this file as well.
Used in:
Used in:
either name or id should be set
Used in:
the order of these fields matters. email is first so that users are sorted by email, using simple string comparison.
An entity's primary key.
Used in: , , , ,
A Google Accounts user. Supports both regular and Google Apps For Your Domain accounts. The User and Reference composite types also have their own PB messages, so that we can use them in EntityProto.
Used in:
nickname is currently unused.