[Erp5-report] r15336 - /erp5/trunk/products/ERP5Catalog/CatalogTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jul 27 08:09:01 CEST 2007


Author: vincent
Date: Fri Jul 27 08:09:01 2007
New Revision: 15336

URL: http://svn.erp5.org?rev=15336&view=rev
Log:
Avoid the obverhead of creating a new Query and ComplexQuery where result can be predicted.

Modified:
    erp5/trunk/products/ERP5Catalog/CatalogTool.py

Modified: erp5/trunk/products/ERP5Catalog/CatalogTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Catalog/CatalogTool.py?rev=15336&r1=15335&r2=15336&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/CatalogTool.py (original)
+++ erp5/trunk/products/ERP5Catalog/CatalogTool.py Fri Jul 27 08:09:01 2007
@@ -495,8 +495,12 @@
             query_list.append(new_query)
           operator_kw = {'operator': 'AND'}
           query = ComplexQuery(*query_list, **operator_kw)
-          query = ComplexQuery(Query(security_uid=security_uid_list, operator='IN'),
-                               query, operator='OR')
+          # If security_uid_list is empty, adding it to criterions will only
+          # result in "false or [...]", so avoid useless overhead by not
+          # adding it at all.
+          if security_uid_list:
+            query = ComplexQuery(Query(security_uid=security_uid_list, operator='IN'),
+                                 query, operator='OR')
         else:
           query = Query(security_uid=security_uid_list, operator='IN')
       if original_query is not None:




More information about the Erp5-report mailing list