Yes, it allows all characters in property and kind names as long as GAE/Bigtable supports them. So for normal property and kind names the GQL query looks like:
SELECT * FROM MyEntity WHERE myProperty='myvalue' But when you need to use GQL's unsupported characters, or when the whole kind or property name is a GQL keyword, then just escape it by apostrophes (like strings): SELECT * FROM 'Order' WHERE 'com.foo.my.property'='myvalue AND 'limit'=1 But be aware that this is not the official GQL syntax - it works only in our parser's implementation. Vaclav On Feb 26, 5:01 pm, John Patterson <[email protected]> wrote: > Very cool! Does it allow '.' in property names? Unfortunately the > Datastore Viewer doesn't . > > On 26 Feb 2010, at 22:30, vbart wrote: > > > Last night we released a new version including improved GQL dynamic > > parser. > > Operators != and IN are supported now and also several bugs were > > fixed. > > More info athttp://audao.spoledge.com/doc-gae-features.html#gqlparser > > > Vaclav > > > On Feb 24, 11:00 pm, David Lam <[email protected]> wrote: > >> On Wed, Feb 24, 2010 at 1:37 AM, vbart > >> <[email protected]> wrote: > >>> I can offer only listing solution, based on our free GQL dynamic > >>> parser -http://audao.spoledge.com/download.jsp > >>> The full JSP you can find here: > > >>>http://vaclavb.blogspot.com/2010/02/google-app-engine-data-viewer-gql > >>> ... > > >>> The GQL parser (class GqlDynamic) converts GQL queries into low- > >>> level > >>> datastore API calls, so the basic code of fetching entities can be: > > >>> import com.google.appengine.api.datastore.DatastoreServiceFactory; > >>> import com.google.appengine.api.datastore.Entity; > >>> import com.spoledge.audao.parser.gql.GqlDynamic; > >>> import java.util.List; > >>> ... > >>> GqlDynamic gqld = new GqlDynamic(); > > >>> gqld > >>> .setDatastoreService > >>> ( DatastoreServiceFactory.getDatastoreService()); > > >>> String gql = "SELECT * FROM MyEntity WHERE prop1='test' ORDER BY > >>> prop2 LIMIT 10"; > >>> List<Entity> result = > >>> gqld.prepareQuery( gql ).asList( gqld.getFetchOptions()); > > >>> Then you just need to render the result in a JSP page. > > >>> The GQL parser currently does not support operators '!=' and 'IN', > >>> but > >>> we are going to launch a new version in a few days which will > >>> support > >>> all GQL features. > > >>> Vaclav > > >> hmm thanks for the tip! i actually was unaware the way to do > >> something like > >> this was to build a google datastore.Query to represent the GQL > >> statement... > > > -- > > You received this message because you are subscribed to the Google > > Groups "Google App Engine for Java" group. > > To post to this group, send email to [email protected] > > . > > To unsubscribe from this group, send email to > > [email protected] > > . > > For more options, visit this group > > athttp://groups.google.com/group/google-appengine-java?hl=en > > . -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
