2
votes

I'm new studing and using GQL. I've been seen GQL grammar here: https://developers.google.com/appengine/docs/python/datastore/gqlreference and here: https://developers.google.com/datastore/docs/concepts/gql_reference. Are very similar, but I wasn't complete sure.

For example, for bound parameter values in Google app engine are used like this:

employees_trained = db.GqlQuery("SELECT * FROM Employee WHERE email IN :1",
                            training_registration_list)

With ":" before the argument, but for Google Cloud Datastore is with "@", like this:

query_string = ('SELECT * FROM Person WHERE height >= @minHeight '
                'AND height <= @maxHeight')
gql_query.query_string = query_string

query_arg = gql_query.name_arg.add()
query_arg.name = 'minHeight'
query_arg.value.integer_value = 48

query_arg = gql_query.name_arg.add()
query_arg.name = 'maxHeight'
query_arg.value.integer_value = 60

Sorry if this is a silly question, but I wasn't sure if the same GQL is used either in Google App Engine and Google Cloud Datastore

Thanks in advance!

1

1 Answers

3
votes

The page you link to has a complete list of the differences: https://developers.google.com/datastore/docs/concepts/gql_reference#unsupported_features_and_behavior_differences_from_mysqlpython_gql (click on the tab "Python GQL for App Engine differences").