From 4925d80f2c6b0ebc91038d7bdbca5a5ebac950b8 Mon Sep 17 00:00:00 2001 From: "nch@tinyerp.com" <> Date: Thu, 26 Nov 2009 11:13:26 +0530 Subject: [PATCH] [IMP]:Idea sql queries to parameterized query bzr revid: nch@tinyerp.com-20091126054326-evu8fblc8bmwk3ky --- addons/idea/idea.py | 33 ++++++++++----------------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/addons/idea/idea.py b/addons/idea/idea.py index ad5b29e42e1..dff0aa5d041 100644 --- a/addons/idea/idea.py +++ b/addons/idea/idea.py @@ -46,41 +46,28 @@ class idea_idea(osv.osv): def _vote_avg_compute(self, cr, uid, ids, name, arg, context = None): if not len(ids): return {} - - sql = """select i.id, avg(v.score::integer) - from idea_idea i left outer join idea_vote v on i.id = v.idea_id - where i.id in (%s) - group by i.id - """ % ','.join(['%s']*len(ids)) - - cr.execute(sql, ids) + cr.execute(""" select i.id, avg(v.score::integer) + from idea_idea i left outer join idea_vote v on i.id = v.idea_id + where i.id =ANY(%s) + group by i.id """,(ids,)) return dict(cr.fetchall()) def _vote_count(self,cr,uid,ids,name,arg,context=None): if not len(ids): return {} - - sql = """select i.id, count(1) + cr.execute("""select i.id, count(1) from idea_idea i left outer join idea_vote v on i.id = v.idea_id - where i.id in (%s) - group by i.id - """ % ','.join(['%s']*len(ids)) - - cr.execute(sql, ids) + where i.id =ANY(%s) + group by i.id""",(ids,)) return dict(cr.fetchall()) def _comment_count(self,cr,uid,ids,name,arg,context=None): if not len(ids): return {} - - sql = """select i.id, count(1) + cr.execute("""select i.id, count(1) from idea_idea i left outer join idea_comment c on i.id = c.idea_id - where i.id in (%s) - group by i.id - """ % ','.join(['%s']*len(ids)) - - - cr.execute(sql,ids) + where i.id =ANY(%s) + group by i.id""",(ids,)) return dict(cr.fetchall()) def _vote_read(self, cr, uid, ids, name, arg, context = None):