[Checkins] SVN: Sandbox/ocql-foliage/trunk/src/ fixing

Adam Groszer agroszer at gmail.com
Sat Nov 10 05:26:00 EST 2007


Log message for revision 81695:
  fixing

Changed:
  U   Sandbox/ocql-foliage/trunk/src/ocql/engine/queryobject.py
  U   Sandbox/ocql-foliage/trunk/src/test2.py

-=-
Modified: Sandbox/ocql-foliage/trunk/src/ocql/engine/queryobject.py
===================================================================
--- Sandbox/ocql-foliage/trunk/src/ocql/engine/queryobject.py	2007-11-10 10:17:28 UTC (rev 81694)
+++ Sandbox/ocql-foliage/trunk/src/ocql/engine/queryobject.py	2007-11-10 10:25:59 UTC (rev 81695)
@@ -32,7 +32,7 @@
                 from pub.dbgpclient import brk; brk()
 
         rv = klass.get_collection_type()
-        print self.name,rv
+        #print self.name,rv
         return rv
 
     def rewrite(self, algebra):
@@ -202,7 +202,7 @@
     
     def get_collection_type(self):
         rv = self.expression.get_collection_type()
-        print self.expression.name,rv
+        #print self.expression.name,rv
         return rv
 
 #
@@ -261,7 +261,7 @@
         except:
             from pub.dbgpclient import brk; brk()
 
-        print self.left.name+'.'+self.right.name,r
+        #print self.left.name+'.'+self.right.name,r
         
         return r
 

Modified: Sandbox/ocql-foliage/trunk/src/test2.py
===================================================================
--- Sandbox/ocql-foliage/trunk/src/test2.py	2007-11-10 10:17:28 UTC (rev 81694)
+++ Sandbox/ocql-foliage/trunk/src/test2.py	2007-11-10 10:25:59 UTC (rev 81695)
@@ -6,8 +6,10 @@
 from ocql.ocqlengine import OCQLEngine
 from ocql.engine.runnablequery import RunnableQuery
 
-def doone(qo, expected):
-    print 
+engine = OCQLEngine()
+
+def doone(query, qo, expected):
+    print "==============="
     print "query:",query
     
     algebra=qo.rewrite(testalgebra)
@@ -18,584 +20,436 @@
     compile(code,'<string>','eval')
     q = RunnableQuery(engine,algebra,code)
     
-    print code
+    print "code:",code
+    print "---------------"
     print "got:     ", q.execute()
     print "expected:", expected
 
 
-engine = OCQLEngine()
-metadata = engine.metadata
-metadata.symbols = SymbolContainer()
-
-#
-# Simple empty query
-#
-# set [ ]
-#
-query = "set [ ]"
-qo=Query(metadata,
-         set,
-         [] ,
-         Identifier(metadata,
-                    '') )
-
-doone(qo, set([]))
+def test2():
+    metadata = engine.metadata
+    metadata.symbols = SymbolContainer()
     
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ", q.execute()
-#print "expected:", set([])
-
-metadata.symbols = SymbolContainer()
-#
-# Simple SELECT ALL
-#
-# set [ c in ICurses | c ]
-#
-query = "[ c in ICurses | c ]"
-qo=Query(
-    metadata,
-    set,
-    [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-    ] ,Identifier(metadata,'c') )
-
-doone(qo, set([ "C1" , "C2", "C3" ]))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ", set([ i.name for i in q.execute() ])
-#print "expected:", set([ "C1" , "C2", "C3" ])
-
-metadata.symbols = SymbolContainer()
-#
-# Selecting a property
-#
-# set [ c in ICurses | c.code ]
-#
-query = "[ c in ICurses | c.code ]"
-qo=Query(
-    metadata,
-    set,
-    [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-    ] ,Identifier(metadata,'c.code') )
-
-doone(qo, set([ "C1" , "C2", "C3"  ]))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set([ "C1" , "C2", "C3"  ])
-
-metadata.symbols = SymbolContainer()
-#
-# Filtering -- empty result
-#
-# set [ c in ICurses , c.credits>3 | c.code ]
-#
-query = "[ c in ICurses, c.credits>3 | c.code ]"
-qo=Query(
-    metadata,
-    set,
-    [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-        Gt(
-            metadata,
-            Identifier(metadata,'c.credits'),
-            Constant(metadata,'3')),
-    ] ,Identifier(metadata, 'c.code') )
-
-doone(qo, set([]))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expecter:",set([])
-
-metadata.symbols = SymbolContainer()
-#
-# Filtering -- full result
-#
-# set [ c in ICurses , c.credits<=3 | c.code ]
-#
-query = "[ c in ICurses, c.credits<=3 | c.code ]"
-qo=Query(
-    metadata,
-    set, [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-        Le(metadata,
-            Identifier(metadata,'c.credits'),
-            Constant(metadata,'3')),
-    ] ,Identifier(metadata,'c.code'))
-
-doone(qo, set([ "C1" , "C2", "C3" ]))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set([ "C1" , "C2", "C3" ])
-
-metadata.symbols = SymbolContainer()
-#
-# Filtering -- one result
-#
-# set [ c in ICurses , c.credits=3 | c.code ]
-#
-query = "[ c in ICurses, c.credits=3 | c.code ]"
-qo=Query(
-    metadata,
-    set,
-    [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-        Eq(
-            metadata,
-            Identifier(metadata,'c.credits'),
-            Constant(metadata,'3')),
-    ] ,Identifier(metadata,'c.code'))
-
-doone(qo, set([ "C2", "C3" ]))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set([ "C2", "C3" ])
-
-metadata.symbols = SymbolContainer()
-#
-# Two filters -- full results
-#
-# set [ c in ICurses , c.credits<5, c.credits >=1  | c.code ]
-#
-query = "[ c in ICurses, c.credits<3, c.credits>=1 | c.code ]"
-qo=Query(
-    metadata,
-    set,
-    [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-        Lt(
-            metadata,
-            Identifier(metadata,'c.credits'),
-            Constant(metadata,'5')),
-        Ge(
-            metadata,
-            Identifier(metadata,'c.credits'),
-            Constant(metadata,'1')),
-    ] ,Identifier(metadata, 'c.code'))
-
-doone(qo, set([ "C1", "C2", "C3" ]))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set([ "C1", "C2", "C3" ])
-
-metadata.symbols = SymbolContainer()
-#
-# Two filters -- one result
-#
-# set [ c in ICurses , c.credits<=2, 2<=c.credits  | c.code ]
-#
-query = "[ c in ICurses, c.credits<=2, 2<=c.credits | c.code ]"
-qo=Query(
-    metadata,
-    set, [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-        Le(
-            metadata,
-            Identifier(metadata,'c.credits'),
-            Constant(metadata,'2')),
-        Le(
-            metadata,
-            Constant(metadata,'2'),
-            Identifier(metadata,'c.credits')),
-    ] ,Identifier(metadata,'c.code'))
-
-doone(qo, set([ "C1" ]))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set([ "C1" ])
-
-metadata.symbols = SymbolContainer()
-#
-# Two filters -- one result
-#
-# set [ c in ICurses , c.credits>=2, 2>=c.credits  | c.code ]
-#
-query = "[ c in ICurses, c.credits>=2, 2>=c.credits | c.code ]"
-qo=Query(
-    metadata,
-    set, [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-        Ge(
-            metadata,
-            Identifier(metadata,'c.credits'),
-            Constant(metadata,'2')),
-        Ge(
-            metadata,
-            Constant(metadata,'2'),
-            Identifier(metadata,'c.credits')),
-    ] ,Identifier(metadata,'c.code'))
-
-doone(qo, set([ "C1" ]))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set([ "C1" ])
-
-metadata.symbols = SymbolContainer()
-#
-# Two filters -- no result
-#
-# set [ c in ICurses , c.credits=3, c.credits!=3  | c.code ]
-#
-query = "[ c in ICurses, c.credits=3, c.credits!=3 | c.code ]"
-qo=Query(
-    metadata,
-    set, [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-        Eq(
-            metadata,
-            Identifier(metadata,'c.credits'),
-            Constant(metadata,'3')),
-        Ne(
-            metadata,
-            Identifier(metadata,'c.credits'),
-            Constant(metadata,'3')),
-    ] ,Identifier(metadata,'c.code'))
-
-doone(qo, set([]))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set([])
-
-metadata.symbols = SymbolContainer()
-#
-# join -- Departments running curses
-#
-# set [ c in ICurses d, in IDepartments ,
-# some c.runBy = d  | d.name ]
-#
-query = "[ c in ICurses, d in IDepartments, d = some c.runBy | d.name  ]"
-qo=Query(
-    metadata,
-    set, [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-        In(
-            metadata,
-            Identifier(metadata,'d'),
-            Identifier(metadata,'IDepartments')),
-        Eq(
-            metadata,
-            Identifier(metadata,'d'),
-            Quanted(metadata,
+    #
+    # Simple empty query
+    #
+    # set [ ]
+    #
+    query = "set [ ]"
+    qo=Query(metadata,
+             set,
+             [] ,
+             Identifier(metadata,
+                        '') )
+    
+    doone(query, qo, set([]))
+        
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # Simple SELECT ALL
+    #
+    # set [ c in ICurses | c ]
+    #
+    query = "[ c in ICurses | c ]"
+    qo=Query(
+        metadata,
+        set,
+        [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+        ] ,Identifier(metadata,'c') )
+    
+    doone(query, qo, set([ "C1" , "C2", "C3" ]))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # Selecting a property
+    #
+    # set [ c in ICurses | c.code ]
+    #
+    query = "[ c in ICurses | c.code ]"
+    qo=Query(
+        metadata,
+        set,
+        [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+        ] ,Identifier(metadata,'c.code') )
+    
+    doone(query, qo, set([ "C1" , "C2", "C3"  ]))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # Filtering -- empty result
+    #
+    # set [ c in ICurses , c.credits>3 | c.code ]
+    #
+    query = "[ c in ICurses, c.credits>3 | c.code ]"
+    qo=Query(
+        metadata,
+        set,
+        [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+            Gt(
+                metadata,
+                Identifier(metadata,'c.credits'),
+                Constant(metadata,'3')),
+        ] ,Identifier(metadata, 'c.code') )
+    
+    doone(query, qo, set([]))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # Filtering -- full result
+    #
+    # set [ c in ICurses , c.credits<=3 | c.code ]
+    #
+    query = "[ c in ICurses, c.credits<=3 | c.code ]"
+    qo=Query(
+        metadata,
+        set, [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+            Le(metadata,
+                Identifier(metadata,'c.credits'),
+                Constant(metadata,'3')),
+        ] ,Identifier(metadata,'c.code'))
+    
+    doone(query, qo, set([ "C1" , "C2", "C3" ]))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # Filtering -- one result
+    #
+    # set [ c in ICurses , c.credits=3 | c.code ]
+    #
+    query = "[ c in ICurses, c.credits=3 | c.code ]"
+    qo=Query(
+        metadata,
+        set,
+        [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+            Eq(
+                metadata,
+                Identifier(metadata,'c.credits'),
+                Constant(metadata,'3')),
+        ] ,Identifier(metadata,'c.code'))
+    
+    doone(query, qo, set([ "C2", "C3" ]))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # Two filters -- full results
+    #
+    # set [ c in ICurses , c.credits<5, c.credits >=1  | c.code ]
+    #
+    query = "[ c in ICurses, c.credits<3, c.credits>=1 | c.code ]"
+    qo=Query(
+        metadata,
+        set,
+        [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+            Lt(
+                metadata,
+                Identifier(metadata,'c.credits'),
+                Constant(metadata,'5')),
+            Ge(
+                metadata,
+                Identifier(metadata,'c.credits'),
+                Constant(metadata,'1')),
+        ] ,Identifier(metadata, 'c.code'))
+    
+    doone(query, qo, set([ "C1", "C2", "C3" ]))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # Two filters -- one result
+    #
+    # set [ c in ICurses , c.credits<=2, 2<=c.credits  | c.code ]
+    #
+    query = "[ c in ICurses, c.credits<=2, 2<=c.credits | c.code ]"
+    qo=Query(
+        metadata,
+        set, [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+            Le(
+                metadata,
+                Identifier(metadata,'c.credits'),
+                Constant(metadata,'2')),
+            Le(
+                metadata,
+                Constant(metadata,'2'),
+                Identifier(metadata,'c.credits')),
+        ] ,Identifier(metadata,'c.code'))
+    
+    doone(query, qo, set([ "C1" ]))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # Two filters -- one result
+    #
+    # set [ c in ICurses , c.credits>=2, 2>=c.credits  | c.code ]
+    #
+    query = "[ c in ICurses, c.credits>=2, 2>=c.credits | c.code ]"
+    qo=Query(
+        metadata,
+        set, [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+            Ge(
+                metadata,
+                Identifier(metadata,'c.credits'),
+                Constant(metadata,'2')),
+            Ge(
+                metadata,
+                Constant(metadata,'2'),
+                Identifier(metadata,'c.credits')),
+        ] ,Identifier(metadata,'c.code'))
+    
+    doone(query, qo, set([ "C1" ]))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # Two filters -- no result
+    #
+    # set [ c in ICurses , c.credits=3, c.credits!=3  | c.code ]
+    #
+    query = "[ c in ICurses, c.credits=3, c.credits!=3 | c.code ]"
+    qo=Query(
+        metadata,
+        set, [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+            Eq(
+                metadata,
+                Identifier(metadata,'c.credits'),
+                Constant(metadata,'3')),
+            Ne(
+                metadata,
+                Identifier(metadata,'c.credits'),
+                Constant(metadata,'3')),
+        ] ,Identifier(metadata,'c.code'))
+    
+    doone(query, qo, set([]))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # join -- Departments running curses
+    #
+    # set [ c in ICurses d, in IDepartments ,
+    # some c.runBy = d  | d.name ]
+    #
+    query = "[ c in ICurses, d in IDepartments, d = some c.runBy | d.name  ]"
+    qo=Query(
+        metadata,
+        set, [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+            In(
+                metadata,
+                Identifier(metadata,'d'),
+                Identifier(metadata,'IDepartments')),
+            Eq(
+                metadata,
+                Identifier(metadata,'d'),
+                Quanted(metadata,
+                        Some(metadata),
+                        Property(metadata, 
+                                Identifier(metadata, 'c'),
+                                Identifier(metadata, 'runBy'))
+                            )),
+        ] ,Identifier(metadata,'d.name'))
+    
+    doone(query, qo, set(['Computing Science', 'Other Department']))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    # join -- Departments running some 3 credits curses
+    #
+    # set [ d in ICurses, c in ICurses, c.credits=3, some c.runBy = d | d.name ]
+    #
+    query = "[ c in ICurses, d in IDepartments, c.credits=3, d = some c.runBy | d.name  ]"
+    qo=Query(
+        metadata,
+        set,
+        [
+            In(
+                metadata,
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+            In(
+                metadata,
+                Identifier(metadata,'d'),
+                Identifier(metadata,'IDepartments')),
+            Eq(
+                metadata,
+                Identifier(metadata,'c.credits'),
+                Constant(metadata,'3')),
+            Eq(
+                metadata,
+                Identifier(metadata,'d'),
+                Quanted(
+                    metadata,
                     Some(metadata),
                     Property(metadata, 
-                            Identifier(metadata, 'c'),
-                            Identifier(metadata, 'runBy'))
-                        )),
-    ] ,Identifier(metadata,'d.name'))
-
-doone(qo, set(['Computing Science', 'Other Department']))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set(['Computing Science', 'Other Department'])
-
-metadata.symbols = SymbolContainer()
-#
-# join -- Departments running some 3 credits curses
-#
-# set [ d in ICurses, c in ICurses, c.credits=3, some c.runBy = d | d.name ]
-#
-query = "[ c in ICurses, d in IDepartments, c.credits=3, d = some c.runBy | d.name  ]"
-qo=Query(
-    metadata,
-    set,
-    [
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-        In(
-            metadata,
-            Identifier(metadata,'d'),
-            Identifier(metadata,'IDepartments')),
-        Eq(
-            metadata,
-            Identifier(metadata,'c.credits'),
-            Constant(metadata,'3')),
-        Eq(
-            metadata,
-            Identifier(metadata,'d'),
-            Quanted(
+                                Identifier(metadata, 'c'),
+                                Identifier(metadata, 'runBy'))
+                            )),
+        ] ,Identifier(metadata, 'd.name'))
+    
+    doone(query, qo, set(['Computing Science']))
+    
+    
+    metadata.symbols = SymbolContainer()
+    # join -- Departments running some not 3 credits curses
+    #
+    # [ d in IDepartments, c in ICurses, some c.runBy = d, some c.credits != 3| d.name ]
+    #
+    query = """[ d in IDepartments,
+    c in ICurses,
+    some c.runBy = d, c.credits != 3| d.name ]"""
+    qo=Query(
+        metadata,
+        set,
+        [
+            In(
                 metadata,
-                Some(metadata),
-                Property(metadata, 
-                            Identifier(metadata, 'c'),
-                            Identifier(metadata, 'runBy'))
-                        )),
-    ] ,Identifier(metadata, 'd.name'))
-
-doone(qo, set(['Computing Science']))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set(['Computing Science'])
-
-metadata.symbols = SymbolContainer()
-# join -- Departments running some not 3 credits curses
-#
-# [ d in IDepartments, c in ICurses, some c.runBy = d, some c.credits != 3| d.name ]
-#
-query = """[ d in IDepartments,
-c in ICurses,
-some c.runBy = d, c.credits != 3| d.name ]"""
-qo=Query(
-    metadata,
-    set,
-    [
-        In(
-            metadata,
-            Identifier(metadata,'d'),
-            Identifier(metadata,'IDepartments')),
-        In(
-            metadata,
-            Identifier(metadata,'c'),
-            Identifier(metadata,'ICurses')),
-        Eq(
-            metadata,
-            Identifier(metadata,'d'),
-            Quanted(
+                Identifier(metadata,'d'),
+                Identifier(metadata,'IDepartments')),
+            In(
                 metadata,
-                Some(metadata),
-                Property(metadata, 
-                            Identifier(metadata, 'c'),
-                            Identifier(metadata, 'runBy'))
-                        )),
-        Ne(
-            metadata,
-            Constant(metadata,'3'),
-            Identifier(metadata,'c.credits')),
-    ] ,Identifier(metadata,'d.name'))
-
-doone(qo, set(['Other department','Computing Science']))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set(['Other department','Computing Science'])
-
-metadata.symbols = SymbolContainer()
-#
-#
-# join -- Departments running just 2 credits curses
-#
-# set [ d in IDepartments, every set [ c in ICurses, some c.runBy = d | c.credits ] = 3  | d.name ]
-#
-query = """set [ d in IDepartments,
-    every
-    set [ c in ICurses, some c.runBy = d | c.credits ] = 2
-    | d.name ]"""
-qo=Query(
-    metadata,
-    set, 
-    [
-        In(
-            metadata,
-            Identifier(metadata,'d'),
-            Identifier(metadata,'IDepartments')),
-        Eq(
-            metadata,
-            Quanted(
+                Identifier(metadata,'c'),
+                Identifier(metadata,'ICurses')),
+            Eq(
                 metadata,
-                Every(metadata),
-                Query(
+                Identifier(metadata,'d'),
+                Quanted(
                     metadata,
-                    set,
-                    [
-                        In(
-                            metadata,
-                            Identifier(metadata,'c'),
-                            Identifier(metadata,'ICurses')),
-                        Eq(
-                            metadata,
-                            Identifier(metadata,'d'),
-                            Quanted(
+                    Some(metadata),
+                    Property(metadata, 
+                                Identifier(metadata, 'c'),
+                                Identifier(metadata, 'runBy'))
+                            )),
+            Ne(
+                metadata,
+                Constant(metadata,'3'),
+                Identifier(metadata,'c.credits')),
+        ] ,Identifier(metadata,'d.name'))
+    
+    doone(query, qo, set(['Other department','Computing Science']))
+    
+    
+    metadata.symbols = SymbolContainer()
+    #
+    #
+    # join -- Departments running just 2 credits curses
+    #
+    # set [ d in IDepartments, every set [ c in ICurses, some c.runBy = d | c.credits ] = 3  | d.name ]
+    #
+    query = """set [ d in IDepartments,
+        every
+        set [ c in ICurses, some c.runBy = d | c.credits ] = 2
+        | d.name ]"""
+    qo=Query(
+        metadata,
+        set, 
+        [
+            In(
+                metadata,
+                Identifier(metadata,'d'),
+                Identifier(metadata,'IDepartments')),
+            Eq(
+                metadata,
+                Quanted(
+                    metadata,
+                    Every(metadata),
+                    Query(
+                        metadata,
+                        set,
+                        [
+                            In(
                                 metadata,
-                                Some(metadata),
-                                Property(metadata, 
-                                    Identifier(metadata, 'c'),
-                                    Identifier(metadata, 'runBy'))
-                                )),
-        ], Identifier(metadata, 'c.credits'))),Constant(metadata,'2')),
-    ] ,Identifier(metadata,'d.name'))
+                                Identifier(metadata,'c'),
+                                Identifier(metadata,'ICurses')),
+                            Eq(
+                                metadata,
+                                Identifier(metadata,'d'),
+                                Quanted(
+                                    metadata,
+                                    Some(metadata),
+                                    Property(metadata, 
+                                        Identifier(metadata, 'c'),
+                                        Identifier(metadata, 'runBy'))
+                                    )),
+                        ], Identifier(metadata, 'c.credits')
+                        )
+                ),Constant(metadata,'2')),
+        ] ,Identifier(metadata,'d.name'))
+    
+    doone(query, qo, set(['Other department']))
+    
+    
+    #metadata.symbols = SymbolContainer()
+    ##
+    ##
+    ## alias
+    ##
+    ## set [ c in ICurses, a as c.code  | a ]
+    ##
+    #query = """set [ c in ICurses, a as c.code  | a ]"""
+    #
+    #qo=Query(
+    #    metadata,
+    #    set,
+    #    [
+    #        In(
+    #            metadata,
+    #            Identifier(metadata,'c'),
+    #            Identifier(metadata,'ICurses')),
+    #        Alias(
+    #            metadata,
+    #            Identifier(metadata,'a'),
+    #            Property(metadata, 
+    #                 Identifier(metadata, 'c'),
+    #                 Identifier(metadata, 'code')))
+    #    ] ,Identifier(metadata,'c') )
+    #
+    #doone(qo, set(['C1','C2','C3']))
 
-doone(qo, set(['Other department']))
-
-#algebra=qo.rewrite(testalgebra)
-#code=algebra.compile();
-#compile(code,'<string>','eval')
-#q = RunnableQuery(engine,algebra,code)
-#
-#print 
-#print query
-#print algebra
-#print code
-#print "got:     ",q.execute()
-#print "expected:",set(['Other department'])
-
-#metadata.symbols = SymbolContainer()
-##
-##
-## alias
-##
-## set [ c in ICurses, a as c.code  | a ]
-##
-#query = """set [ c in ICurses, a as c.code  | a ]"""
-#
-#qo=Query(
-#    metadata,
-#    set,
-#    [
-#        In(
-#            metadata,
-#            Identifier(metadata,'c'),
-#            Identifier(metadata,'ICurses')),
-#        Alias(
-#            metadata,
-#            Identifier(metadata,'a'),
-#            Property(metadata, 
-#                 Identifier(metadata, 'c'),
-#                 Identifier(metadata, 'code')))
-#    ] ,Identifier(metadata,'c') )
-#
-#doone(qo, set(['C1','C2','C3']))
\ No newline at end of file
+if __name__ == "__main__":
+    test2()



More information about the Checkins mailing list