Thank you for reporting this. Please check my fix in trunk.

Massimo

On May 4, 4:16 pm, Christophe Plat <[email protected]> wrote:
> This issue on web2py is related to GAE issue 3119 (http://
> code.google.com/p/googleappengine/issues/detail?id=3119).
> I'm using web2py 1.77.3.
>
> In gql.py, line 702 to 709:
>
> def delete(self):
>         self._db['_lastsql'] = 'DELETE WHERE %s' % self.where
>         (items, tablename, fields) = self._select()
>         tableobj = self._db[tablename]._tableobj
>         counter = self.items_count(items)
>         if counter:
>             gae.delete(items)
>         return counter
>
> According to comment 8 on issue 3119, the delete function no longer
> works on Query object, which items is an instance of. It suggests to
> change the code to either:
>
> db.delete(<query>.fetch(1000))
>
> or
>
> db.delete(list(<query>))
>
> with a preference to fetch(1000). In other words: a fix for this issue
> is to update line 708 to:
>
> gae.delete(items.fetch(1000))
>
> It leaves open the issue of queries returning more than 1000 results,
> though.
>
> Best regards,
> Christophe

Reply via email to