[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