[Erp5-report] r24943 - /erp5/trunk/products/ZSQLCatalog/SQLCatalog.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Dec 19 11:27:37 CET 2008


Author: vincent
Date: Fri Dec 19 11:27:33 2008
New Revision: 24943

URL: http://svn.erp5.org?rev=24943&view=rev
Log:
When query_table was explicitely given a None value, prevent joins from happening.
  Other uses in that function are None-safe:
   - first use checks that query_table exavuates to True before using
   - (this fix applied to the second use)
   - third use is to provide related keys with a query_tabe parameter. So when using a related key it is either meaningless (if related key ignores that parameter, it means that it hadcodes its "source" table) or fixable (by making related key handle a None query_table nicely, if not already the case).

Modified:
    erp5/trunk/products/ZSQLCatalog/SQLCatalog.py

Modified: erp5/trunk/products/ZSQLCatalog/SQLCatalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SQLCatalog.py?rev=24943&r1=24942&r2=24943&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SQLCatalog.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SQLCatalog.py [utf8] Fri Dec 19 11:27:33 2008
@@ -2060,9 +2060,10 @@
         select_expression_list.extend(query_result['select_expression_list'])
 
     # Calculate extra where_expression based on required joins
-    for k, tid in from_table_dict.items():
-      if k != query_table:
-        where_expression_list.append('%s.uid = %s.uid' % (query_table, tid))
+    if query_table:
+      for k, tid in from_table_dict.items():
+        if k != query_table:
+          where_expression_list.append('%s.uid = %s.uid' % (query_table, tid))
     # Calculate extra where_expressions based on related definition
     for (table_list, method_id) in related_methods.keys():
       related_method = getattr(self, method_id, None)




More information about the Erp5-report mailing list