[Checkins] SVN: Sandbox/ocql-foliage/src/ preparing for metadata storage in queryobject

Adam Groszer agroszer at gmail.com
Tue Sep 25 15:48:24 EDT 2007


Log message for revision 80042:
  preparing for metadata storage in queryobject

Changed:
  U   Sandbox/ocql-foliage/src/ocql/engine/queryobject.py
  U   Sandbox/ocql-foliage/src/ocql/engine/queryparser.py
  U   Sandbox/ocql-foliage/src/testdb.py

-=-
Modified: Sandbox/ocql-foliage/src/ocql/engine/queryobject.py
===================================================================
--- Sandbox/ocql-foliage/src/ocql/engine/queryobject.py	2007-09-25 19:15:17 UTC (rev 80041)
+++ Sandbox/ocql-foliage/src/ocql/engine/queryobject.py	2007-09-25 19:48:23 UTC (rev 80042)
@@ -15,6 +15,15 @@
 class Expression(Term, QueryObject):
     pass
 
+class MetadataStoreMixin:
+    _metadata = None
+    
+    def setMetadata(self, metadata):
+        self._metadata = metadata
+    
+    def getMetadata(self):
+        return self._metadata
+
 #
 # General
 # 
@@ -51,7 +60,7 @@
     #TODO: convert value to string?
     pass
    
-class Query(Expression):
+class Query(Expression, MetadataStoreMixin):
     def __init__(self, collection, terms, target):
         self.collection = collection
         self.terms = terms
@@ -74,7 +83,7 @@
                         self.collection,
                         set,
                         ft.expression.rewrite(algebra)
-                        ) # FIXME: ?set? 
+                        ) # FIXME: ?set? must be determined by type(ft.expression)
                 )
             elif isinstance(ft,Alias):
                 return Query(
@@ -191,7 +200,8 @@
             0,
             algebra.Lambda('i',algebra.Constant(1)),
             algebra.Operator('+'), 
-            make(bag,set,self.expression.rewrite(algebra)) # FIXME ?set?
+            make(bag,set,self.expression.rewrite(algebra))
+            # FIXME ?set? must be determined by type(self.expression)
         )
 
 class Sum(Aggregate):
@@ -221,7 +231,7 @@
 class Some(Quantor):
     def rewrite(self, algebra, expression, quanted, operator):
         return algebra.Reduce(
-            set, # FIXME ?set?
+            set, # FIXME ?set? but which type() to take? quanted.expression?
             algebra.Identifier('False'),
             algebra.Lambda('i',
                 operator.__class__(

Modified: Sandbox/ocql-foliage/src/ocql/engine/queryparser.py
===================================================================
--- Sandbox/ocql-foliage/src/ocql/engine/queryparser.py	2007-09-25 19:15:17 UTC (rev 80041)
+++ Sandbox/ocql-foliage/src/ocql/engine/queryparser.py	2007-09-25 19:48:23 UTC (rev 80042)
@@ -49,6 +49,7 @@
 
 class QueryParser:
     def __init__(self, engine):
+        self.engine = engine
         self.metadata = engine.metadata
         
     def parse(self, query):
@@ -60,4 +61,6 @@
         return True
     
     def compile(self, query):
-        return WIRED
\ No newline at end of file
+        x = WIRED
+        x.setMetadata(self.metadata)
+        return x
\ No newline at end of file

Modified: Sandbox/ocql-foliage/src/testdb.py
===================================================================
--- Sandbox/ocql-foliage/src/testdb.py	2007-09-25 19:15:17 UTC (rev 80041)
+++ Sandbox/ocql-foliage/src/testdb.py	2007-09-25 19:48:23 UTC (rev 80042)
@@ -21,15 +21,15 @@
         return self.klass
     
 class MType(metadata.MetaType):
-    def __init__(self, klass, container=None):
+    def __init__(self, klass, collection_type=None):
         self.klass = klass
-        self.container = container
+        self.collection_type = collection_type
 
     def is_collection(self):
-        return (self.container is not None)
+        return (self.collection_type is not None)
 
     def get_type(self):
-        return self.container
+        return self.collection_type
     
     def get_contained(self):
         return self.klass



More information about the Checkins mailing list