Skip to content

Exception "Keys only queries do not support IN filters." #4

@alex-kowalczyk

Description

@alex-kowalczyk

The pipeline filter is

'filters': [("due_date", "<", due_date_before),
                                ("due_date", ">", None),
                                ("status", "IN", ['planned', 'working'])]

The result of pipeline with input reader set to 'mapreduce_utils.DatastoreQueryInputReader' is an exception below.

Would you have any suggestions for a quick workaround?

ERROR    2014-05-10 08:09:58,929 webapp2.py:1552] Keys only queries do not support IN filters.
Traceback (most recent call last):
  File "/home/alex/Documents/src/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1535, in __call__
    rv = self.handle_exception(request, response, e)
  File "/home/alex/Documents/src/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1529, in __call__
    rv = self.router.dispatch(request, response)
  File "/home/alex/Documents/src/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1278, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/home/alex/Documents/src/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1102, in __call__
    return handler.dispatch()
  File "/home/alex/Documents/src/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 572, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/home/alex/Documents/src/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 570, in dispatch
    return method(*args, **kwargs)
  File "/home/alex/Documents/src/offiserv/vendor/mapreduce/base_handler.py", line 126, in post
    self.handle()
  File "/home/alex/Documents/src/offiserv/vendor/mapreduce/handlers.py", line 1273, in handle
    readers, serialized_readers_entity = self._get_input_readers(state)
  File "/home/alex/Documents/src/offiserv/vendor/mapreduce/handlers.py", line 1323, in _get_input_readers
    state.mapreduce_spec.mapper)
  File "/home/alex/Documents/src/offiserv/vendor/mapreduce_utils/mapreduce_utils.py", line 213, in split_input
    entity_kind, keys_only=True, filters=filters)
  File "/home/alex/Documents/src/offiserv/vendor/mapreduce_utils/mapreduce_utils.py", line 55, in make_ascending_query
    order=['__key__'])
  File "/home/alex/Documents/src/offiserv/vendor/mapreduce_utils/mapreduce_utils.py", line 44, in make_query
    query = self.filter_query(query, filters=filters)
  File "/home/alex/Documents/src/offiserv/vendor/mapreduce_utils/mapreduce_utils.py", line 66, in filter_query
    query.filter("%s %s" % (k, c), v)
  File "/home/alex/Documents/src/google_appengine/google/appengine/ext/db/__init__.py", line 2576, in filter
    raise BadQueryError('Keys only queries do not support IN filters.')
BadQueryError: Keys only queries do not support IN filters.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions