[Checkins]
SVN: Sandbox/ocql-foliage/src/ocql/engine/runnablequery.py
started debuggable functions
Adam Groszer
agroszer at gmail.com
Tue Sep 25 09:04:48 EDT 2007
Log message for revision 79998:
started debuggable functions
Changed:
U Sandbox/ocql-foliage/src/ocql/engine/runnablequery.py
-=-
Modified: Sandbox/ocql-foliage/src/ocql/engine/runnablequery.py
===================================================================
--- Sandbox/ocql-foliage/src/ocql/engine/runnablequery.py 2007-09-25 13:03:25 UTC (rev 79997)
+++ Sandbox/ocql-foliage/src/ocql/engine/runnablequery.py 2007-09-25 13:04:48 UTC (rev 79998)
@@ -3,6 +3,18 @@
# This will return the resultset
#
+#import __builtin__
+
+_marker = object()
+
+def d_reduce(function, sequence, initializer=_marker):
+ if initializer is _marker:
+ rv = reduce(function, sequence)
+ else:
+ rv = reduce(function, sequence, initializer)
+ return rv
+
+
class RunnableQuery:
"""
metadata: ocql.metadata instance
@@ -16,15 +28,19 @@
def reanalyze(self):
self.code = self.engine.compile_algebra(self.alg)
- def execute(self):
+ def execute(self, debug=False):
metadata = self.engine.metadata
#return reduce(set.union, map(lambda c: reduce(set.union, map(lambda d: ((d.name=="Computing Science") and (((d==set(filter(lambda i: i.runBy,c))) and (((c.credits<=3) and (((1<=c.credits) and (set([c])) or (set()))) or (set()))) or (set()))) or (set())),set(metadata.getAll("IDepartments"))) , set()),set(metadata.getAll("ICurses"))) , set())
#TODO: why is the metadata not working in locals?
import operator
- return eval(self.code,
- {'metadata': self.engine.metadata, 'operator': operator},
- {'metadata': self.engine.metadata, 'operator': operator})
+ mapping = {'metadata': self.engine.metadata,
+ 'operator': operator}
+ if debug:
+ mapping['reduce'] = d_reduce
+
+ return eval(self.code, mapping, mapping)
+
#return eval(self.code)
More information about the Checkins
mailing list