summaryrefslogtreecommitdiff
path: root/python/skytools/querybuilder.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/skytools/querybuilder.py')
-rwxr-xr-xpython/skytools/querybuilder.py45
1 files changed, 22 insertions, 23 deletions
diff --git a/python/skytools/querybuilder.py b/python/skytools/querybuilder.py
index db168481..8218d794 100755
--- a/python/skytools/querybuilder.py
+++ b/python/skytools/querybuilder.py
@@ -358,48 +358,37 @@ def plpy_exec(gd, sql, args, all_keys_required = True):
gd['plq_cache'][sql] = sq
return sq.execute(args, all_keys_required)
-# fake plpy for testing
-class fake_plpy:
- def prepare(self, sql, types):
- print "DBG: plpy.prepare(%s, %s)" % (repr(sql), repr(types))
- return ('PLAN', sql, types)
- def execute(self, plan, args = []):
- print "DBG: plpy.execute(%s, %s)" % (repr(plan), repr(args))
- def error(self, msg):
- print "DBG: plpy.error(%s)" % repr(msg)
-
# some helper functions for convenient sql execution
-def run_query(cur, sql, params = None, **kvargs):
+def run_query(cur, sql, params = None, **kwargs):
""" Helper function if everything you need is just paramertisized execute
Sets rows_found that is coneninet to use when you don't need result just
want to know how many rows were affected
"""
- params = params or kvargs
+ params = params or kwargs
sql = QueryBuilder(sql, params).get_sql(0)
cur.execute(sql)
- rows = cur.dictfetchall()
+ rows = cur.fetchall()
# convert result rows to dbdict
if rows:
rows = [dbdict(r) for r in rows]
return rows
-def run_query_row(cur, sql, params = None, **kvargs):
+def run_query_row(cur, sql, params = None, **kwargs):
""" Helper function if everything you need is just paramertisized execute to
fetch one row only. If not found none is returned
"""
- params = params or kvargs
+ params = params or kwargs
rows = run_query(cur, sql, params)
if len(rows) == 0:
return None
return rows[0]
-def run_lookup(cur, sql, params = None, **kvargs):
+def run_lookup(cur, sql, params = None, **kwargs):
""" Helper function to fetch one value Takes away all the hassle of preparing statements
- and processing returned result giving out just one value. Uses plan cache if used inside
- db service
+ and processing returned result giving out just one value.
"""
- params = params or kvargs
+ params = params or kwargs
sql = QueryBuilder(sql, params).get_sql(0)
cur.execute(sql)
row = cur.fetchone()
@@ -407,15 +396,25 @@ def run_lookup(cur, sql, params = None, **kvargs):
return None
return row[0]
-def run_exists(cur, sql, params = None, **kvargs):
+def run_exists(cur, sql, params = None, **kwargs):
""" Helper function to fetch one value Takes away all the hassle of preparing statements
- and processing returned result giving out just one value. Uses plan cache if used inside
- db service
+ and processing returned result giving out just one value.
"""
- params = params or kvargs
+ params = params or kwargs
val = run_lookup(cur, sql, params)
return not (val is None)
+
+# fake plpy for testing
+class fake_plpy:
+ def prepare(self, sql, types):
+ print "DBG: plpy.prepare(%s, %s)" % (repr(sql), repr(types))
+ return ('PLAN', sql, types)
+ def execute(self, plan, args = []):
+ print "DBG: plpy.execute(%s, %s)" % (repr(plan), repr(args))
+ def error(self, msg):
+ print "DBG: plpy.error(%s)" % repr(msg)
+
# launch doctest
if __name__ == '__main__':
import doctest