[Checkins] SVN: Sandbox/adamg/ocql/trunk/src/ocql/ 2 more tests work after the fix
Adam Groszer
agroszer at gmail.com
Mon Sep 1 12:37:57 EDT 2008
Log message for revision 90657:
2 more tests work after the fix
Changed:
U Sandbox/adamg/ocql/trunk/src/ocql/compiler/compiler.txt
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-09-01 15:28:16 UTC (rev 90656)
+++ Sandbox/adamg/ocql/trunk/src/ocql/compiler/compiler.txt 2008-09-01 16:37:56 UTC (rev 90657)
@@ -130,7 +130,7 @@
>>> aopt, run = make("set [ c in ICourse; a as c.credits; a > 3 | c.code ]")
>>> aopt
Head(Iter(<type 'set'>, Lambda c: Iter(<type 'set'>,
- Lambda a: Single(<type 'set'>, a), Single(<type 'set'>, c.credits)),
- Make(<type 'set'>, <type 'set'>, ICourse)))
+ Lambda a: If(a > `3`, Single(<type 'set'>, c.code), Empty(<type 'set'>)),
+ Single(<type 'set'>, c.credits)), Make(<type 'set'>, <type 'set'>, ICourse)))
>>> run.code
- breaks: where is a>3 'reduce(set.union, map(lambda c: reduce(set.union, map(lambda a: set([a]), set([c.credits])), set()), set(metadata.getAll("ICourse"))), set())'
+ 'reduce(set.union, map(lambda c: reduce(set.union, map(lambda a: ((a>3) and (set([c.code])) or (set())), set([c.credits])), set()), set(metadata.getAll("ICourse"))), set())'
Modified: Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt
===================================================================
--- Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt 2008-09-01 15:28:16 UTC (rev 90656)
+++ Sandbox/adamg/ocql/trunk/src/ocql/rewriter/rewriter.txt 2008-09-01 16:37:56 UTC (rev 90657)
@@ -219,12 +219,14 @@
>>> qo, alg = make("set [ c in ICourse; a as c.credits; a > 3 | c.code ]")
>>> print str(alg)
- breaks: where is a>3 Head(Iter(<type 'set'>, Lambda c: Iter(<type 'set'>,
- Lambda a: Single(<type 'set'>, a), Single(<type 'set'>, c.credits)),
- Make(<type 'set'>, <type 'set'>, ICourse)))
+ Head(Iter(<type 'set'>, Lambda c: Iter(<type 'set'>,
+ Lambda a: If(a > `3`, Single(<type 'set'>, c.code),
+ Empty(<type 'set'>)), Single(<type 'set'>, c.credits)), Make(<type 'set'>,
+ <type 'set'>, ICourse)))
>>> qo, alg = make("set [ s in IStudent; a as s.major.address.street; a=='Hillhead Street' | s ]")
>>> print str(alg)
- Head(Iter(<type 'set'>, Lambda s:
- Iter(<type 'set'>, Lambda a: Single(<type 'set'>, a), Single(<type 'set'>, s.major.address.street)),
+ Head(Iter(<type 'set'>, Lambda s: Iter(<type 'set'>,
+ Lambda a: If(a == `'Hillhead Street'`, Single(<type 'set'>, s),
+ Empty(<type 'set'>)), Single(<type 'set'>, s.major.address.street)),
Make(<type 'set'>, <type 'set'>, IStudent)))
More information about the Checkins
mailing list