A Query.all() call creates a list of a DB query results.
We can actually use a Query instance as an iterable and
thus avoid creation of a list if we just need to iterate
over those values only once.
Fixes bug 1173133
Change-Id: I06d8eaa9eaba4c71aa0c98000735cb9d83ea19a3