def __query_result_hook(self, rpc):
   """Internal method used as get_result_hook for RunQuery/Next operation."""
   try:
     self.__conn.check_rpc_success(rpc)
   except datastore_errors.NeedIndexError, exc:
     yaml = datastore_index.IndexYamlForQuery(
         *datastore_index.CompositeIndexForQuery(rpc.request)[1:-1])
     raise datastore_errors.NeedIndexError(
         str(exc) + '\nThis query needs this index:\n' + yaml)
Beispiel #2
0
def run_rpc_handler(rpc):
  try:
    rpc.check_success()
  except apiproxy_errors.ApplicationError, err:
    try:
      _ToDatastoreError(err)
    except datastore_errors.NeedIndexError, exc:
      yaml = datastore_index.IndexYamlForQuery(
        *datastore_index.CompositeIndexForQuery(rpc.request)[1:-1])
      raise datastore_errors.NeedIndexError(
        str(exc) + '\nThis query needs this index:\n' + yaml)