April 24th, 2012 | Published in Google App Engine
DatastoreWe’ve introduced an experimental type of query, projection queries, in the Datastore. For the SQL fans amongst us, this is similar to queries of the form:
SELECT Property1, Property2 FROM MyEntity ORDER BY Property3
Projection queries have the same cost and performance characteristics as keys-only queries but return entity objects populated only with the requested properties.
We are also adding several other Datastore features in this release:
- Each entity group now has a numeric version property that strictly increases on every entity group change. You can use this counter, for example, to easily and consistently cache the results of an ancestor query, such as the count of all entities in an entity group (Java®, Python examples).
- The Datastore Admin now allows you to restore individual Kinds from an existing backup, abort in-progress backups, and view more detailed backup and restore information.
- For Python users, the
@db.transactionaldecorator now supports concurrent transactions. We’ve also expanded the options available for the
- The Images API can now access image objects stored in Google Cloud Storage.
- The URLs generated by
getServingUrl()that make use of our high-speed image serving infrastructure can now be generated to serve over HTTPS.
Task QueueWe are looking for Trusted Testers for Task Queue Statistics. Task Queue Statistics allows you to fetch statistics and information about your task queue from within your application. Apply now to be a Trusted Tester.
Request HeadersIn this release, we are including additional request headers to provide more detailed information about the origin of a request. We’ve added Region, City and LatLng headers to each request where this information can be inferred from the IP address.
Finally, an important piece of news for our Java developers: the
<threadsafe> element is now required in
appengine-web.xml file; omitting it will cause an error in the dev appserver.
As always, send us feedback in our Google Group, send us technical questions on Stack Overflow, and read the complete release notes for all the new features and fixes in this release for Java, Python, and Go.