summaryrefslogtreecommitdiff
path: root/python/skytools/querybuilder.py
diff options
context:
space:
mode:
authormartinko2013-06-20 19:49:32 +0000
committermartinko2013-06-20 19:49:32 +0000
commita1242c473d04ed2dc69d82fb371f64808dfced79 (patch)
treeebd0c314b168efbaac9e5564e650908b7703a1c8 /python/skytools/querybuilder.py
parentf8cc1e8c0834fc4ddee1e6a5694fe522f97224ce (diff)
parent53151b6eb4413e2af98ce3bf1e73008ad2ff3710 (diff)
Merge branch 'master' of https://github.com/markokr/skytools into develop
Diffstat (limited to 'python/skytools/querybuilder.py')
-rwxr-xr-xpython/skytools/querybuilder.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/python/skytools/querybuilder.py b/python/skytools/querybuilder.py
index c2eead2d..9930daab 100755
--- a/python/skytools/querybuilder.py
+++ b/python/skytools/querybuilder.py
@@ -319,8 +319,11 @@ class PLPyQuery:
arg_list = [arg_dict.get(k) for k in self.arg_map]
return plpy.execute(self.plan, arg_list)
except KeyError:
- plpy.error("Missing argument: QUERY: %s ARGS: %s VALUES: %s" % (
- repr(self.sql), repr(self.arg_map), repr(arg_dict)))
+ need = set(self.arg_map)
+ got = set(arg_dict.keys())
+ missing = list(need.difference(got))
+ plpy.error("Missing arguments: [%s] QUERY: %s" % (
+ ','.join(missing), repr(self.sql)))
def __repr__(self):
return 'PLPyQuery<%s>' % self.sql
@@ -341,7 +344,7 @@ def plpy_exec(gd, sql, args, all_keys_required = True):
>>> res = plpy_exec(GD, "select {arg1}, {arg2:int4}, {arg1}", {'arg1': '3', 'arg2': '4'})
DBG: plpy.execute(('PLAN', 'select $1, $2, $3', ['text', 'int4', 'text']), ['3', '4', '3'])
>>> res = plpy_exec(GD, "select {arg1}, {arg2:int4}, {arg1}", {'arg1': '3'})
- DBG: plpy.error("Missing argument: QUERY: 'select {arg1}, {arg2:int4}, {arg1}' ARGS: ['arg1', 'arg2', 'arg1'] VALUES: {'arg1': '3'}")
+ DBG: plpy.error("Missing arguments: [arg2] QUERY: 'select {arg1}, {arg2:int4}, {arg1}'")
>>> res = plpy_exec(GD, "select {arg1}, {arg2:int4}, {arg1}", {'arg1': '3'}, False)
DBG: plpy.execute(('PLAN', 'select $1, $2, $3', ['text', 'int4', 'text']), ['3', None, '3'])
"""