[Erp5-report] r17649 - /erp5/trunk/products/ERP5/Document/Predicate.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Nov 16 14:36:22 CET 2007


Author: yusei
Date: Fri Nov 16 14:36:22 2007
New Revision: 17649

URL: http://svn.erp5.org?rev=17649&view=rev
Log:
Fixed a bug that generate incorrect sql.

Modified:
    erp5/trunk/products/ERP5/Document/Predicate.py

Modified: erp5/trunk/products/ERP5/Document/Predicate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Predicate.py?rev=17649&r1=17648&r2=17649&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Predicate.py (original)
+++ erp5/trunk/products/ERP5/Document/Predicate.py Fri Nov 16 14:36:22 2007
@@ -235,8 +235,11 @@
                                           strict_membership=strict_membership,
                                           table=table_alias,
                                           base_category=base_category))
-    membership_select_list = map(lambda l: '( %s )' % ' OR '.join(l),
-                                                         membership_dict.values())
+    membership_select_list = []
+    for expression_list in membership_dict.values():
+      or_expression = ' OR '.join(expression_list)
+      if or_expression:
+        membership_select_list.append('( %s )' % or_expression)
 
     # Then build SQL for multimembership_dict criteria
     multimembership_dict = {}
@@ -255,7 +258,11 @@
                                           strict_membership=strict_membership,
                                           table=table_alias,
                                           base_category=base_category))
-    multimembership_select_list = map(lambda l: ' AND '.join(l), multimembership_dict.values())
+    multimembership_select_list = []
+    for expression_list in multimembership_dict.values():
+      and_expression = ' AND '.join(expression_list)
+      if and_expression:
+        multimembership_select_list.append(and_expression)
 
     # Build the join where expression
     join_select_list = []




More information about the Erp5-report mailing list