From 2f75c6cc4836180fb8af449e2c02b96c876fcdea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 2 Sep 2010 17:59:33 +0200 Subject: [PATCH] Use fetchmany instead of limit It is faster on large data sets --- trytond/model/modelsql.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/trytond/model/modelsql.py b/trytond/model/modelsql.py index fd82622874..14b955609b 100644 --- a/trytond/model/modelsql.py +++ b/trytond/model/modelsql.py @@ -1187,11 +1187,9 @@ class ModelSQL(ModelStorage): (order_by and ' ORDER BY ' + order_by or ''), limit, offset) if query_string: return (query_str, tables_args + qu2) - cursor.execute(cursor.limit_clause( - 'SELECT * FROM (' + query_str + ') AS ' \ - '"' + self._table + '"', cursor.IN_MAX), tables_args + qu2) + cursor.execute(query_str, tables_args + qu2) - datas = cursor.dictfetchall() + datas = cursor.dictfetchmany(cursor.IN_MAX) cache = cursor.get_cache() cache.setdefault(self._name, {}) delete_records = Transaction().delete_records.setdefault(self._name,