[Erp5-report] r33157 yusuke - /erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Mar 1 08:10:31 CET 2010


Author: yusuke
Date: Mon Mar  1 08:10:31 2010
New Revision: 33157

URL: http://svn.erp5.org?rev=33157&view=rev
Log:
explained more about why raise the exception.

Modified:
    erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py

Modified: erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py?rev=33157&r1=33156&r2=33157&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py [utf8] Mon Mar  1 08:10:31 2010
@@ -119,8 +119,21 @@
   def checkQueryTree(self):
     """
       XXX
-      If self has 'or' operator and a RelatedQuery in the tree,
-      it will not return valid result.
+      The root of this query tree will not return semantic valid SQLExpression
+      when the self has 'or' operator and a RelatedQuery in the query tree of self.
+      The semantic valid means that, for example, there is a query tree which has
+      three queries:
+        - one is intended for searching document with the title 'bra%'
+        - one is intended for searching document which is related to a category
+        - a ComplexQuery with 'or' operator which has above queries as children
+      in this case, the root of the query tree should return an expression
+      "(document.tile like 'bra%') or (document related to the category and
+      the category entry must be in catalog)". This is semantic valid.
+      However at current implementation, return the expression
+      "(document.title like 'bra%' or document related to the category) and (the
+      category entry must be in catalog)". The outside relation between category
+      and catalog also affects the document.title condition. It is a limitation for
+      performance. We don't hope to return affected result. So raise the Exception.
     """
     for query in self.query_list:
       result = self._findRelatedQuery(query)




More information about the Erp5-report mailing list