[Checkins] SVN: Sandbox/adamg/ocql/trunk/src/ocql/ improve code coverage
Charith Paranaliyanage
paranaliyanage at gmail.com
Mon Aug 18 02:15:47 EDT 2008
Log message for revision 89952:
improve code coverage
Changed:
U Sandbox/adamg/ocql/trunk/src/ocql/compiler/compiler.txt
U Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.py
U Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt
-=-
Modified: Sandbox/adamg/ocql/trunk/src/ocql/compiler/compiler.txt
===================================================================
--- Sandbox/adamg/ocql/trunk/src/ocql/compiler/compiler.txt 2008-08-18 01:54:48 UTC (rev 89951)
+++ Sandbox/adamg/ocql/trunk/src/ocql/compiler/compiler.txt 2008-08-18 06:15:45 UTC (rev 89952)
@@ -81,14 +81,25 @@
>>> print str(run)
RunnableQuery: reduce(operator.add, map(lambda i: [i], list(metadata.getAll("ICourse"))), [])
- ##bag not implemented
- ##>>> qo = QueryParser("size set [ i in ICourse | i ]")(TestMetadata())
- ##>>> opt = QueryOptimizer(qo)()
- ##>>> alg = Rewriter(opt)()
- ##>>> print str(alg)
- ##Iter(<type 'set'>,Lambda i: Single(<type 'set'>,i),Make(<type 'set'>,<type 'set'>,ICourse))
+ >>> metadata = TestMetadata()
+ >>> qo = QueryParser("len(set [ i in ICourse | i ])")(TestMetadata())
+ >>> opt = QueryOptimizer(qo)()
+ >>> alg = Rewriter(opt)()
+ >>> aopt = AlgebraOptimizer(alg)(metadata)
+ >>> run = AlgebraCompiler(aopt)(metadata, alg)
+ >>> print str(run)
+ RunnableQuery: reduce(operator.add, map(lambda i: 1, reduce(set.union, map(lambda i: set([i]), set(metadata.getAll("ICourse"))), set())), 0)
>>> metadata = TestMetadata()
+ >>> qo = QueryParser("len(list [ i in ICourse | i ])")(TestMetadata())
+ >>> opt = QueryOptimizer(qo)()
+ >>> alg = Rewriter(opt)()
+ >>> aopt = AlgebraOptimizer(alg)(metadata)
+ >>> run = AlgebraCompiler(aopt)(metadata, alg)
+ >>> print str(run)
+ RunnableQuery: reduce(operator.add, map(lambda i: 1, reduce(operator.add, map(lambda i: [i], list(metadata.getAll("ICourse"))), [])), 0)
+
+ >>> metadata = TestMetadata()
>>> qo = QueryParser("set [ c in ICourse | c.code ]")(TestMetadata())
>>> opt = QueryOptimizer(qo)()
>>> alg = Rewriter(opt)()
Modified: Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.py
===================================================================
--- Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.py 2008-08-18 01:54:48 UTC (rev 89951)
+++ Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.py 2008-08-18 06:15:45 UTC (rev 89952)
@@ -209,11 +209,11 @@
def __call__(self):
return Reduce(
- bag, # FIXME milyen bag
- 0,
+ self.context.expression.collection_type, # FIXME milyen bag
+ Constant(0),
Lambda('i', Constant(1)),
Operator('+'),
- make(bag, set, IRewriter(self.context.expression)())
+ IRewriter(self.context.expression)()
# FIXME ?set? must be determined by type(self.expression)
)
Modified: Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt
===================================================================
--- Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt 2008-08-18 01:54:48 UTC (rev 89951)
+++ Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt 2008-08-18 06:15:45 UTC (rev 89952)
@@ -69,6 +69,18 @@
>>> print str(alg)
Iter(<type 'list'>, Lambda i: Single(<type 'list'>, i), Make(<type 'list'>, <type 'set'>, ICourse))
+ >>> qo = QueryParser("len(set [ i in ICourse | i ])")(TestMetadata())
+ >>> opt = QueryOptimizer(qo)()
+ >>> alg = Rewriter(opt)()
+ >>> print str(alg)
+ Reduce(<type 'set'>, `0`, Lambda i: `1`, +, Iter(<type 'set'>, Lambda i: Single(<type 'set'>, i), Make(<type 'set'>, <type 'set'>, ICourse)))
+
+ >>> qo = QueryParser("len(list [ i in ICourse | i ])")(TestMetadata())
+ >>> opt = QueryOptimizer(qo)()
+ >>> alg = Rewriter(opt)()
+ >>> print str(alg)
+ Reduce(<type 'list'>, `0`, Lambda i: `1`, +, Iter(<type 'list'>, Lambda i: Single(<type 'list'>, i), Make(<type 'list'>, <type 'set'>, ICourse)))
+
>>> qo = QueryParser("set [ c in ICourse; c.credits>3 | c.code ]")(TestMetadata())
>>> opt = QueryOptimizer(qo)()
>>> alg = Rewriter(opt)()
More information about the Checkins
mailing list