[Erp5-report] r45764 jerome - in /erp5/trunk/products/ZSQLCatalog: ./ Query/

nobody at svn.erp5.org nobody at svn.erp5.org
Mon May 2 10:13:16 CEST 2011


Author: jerome
Date: Mon May  2 10:13:16 2011
New Revision: 45764

URL: http://svn.erp5.org?rev=45764&view=rev
Log:
Remove implicit table mapping by passing tablename.key='' along with key='something'.
This feature broke changing page in listbox since listbox search columns are prefixed with field id.


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

Modified: erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py?rev=45764&r1=45763&r2=45764&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py [utf8] Mon May  2 10:13:16 2011
@@ -67,15 +67,11 @@ class ComplexQuery(Query):
             This value will be passed through to SQLExpression. If it is
             provided, this ComplexQuery must have no subquery (regular
             SQLExpression limitation)
-        implicit_table_list (list of strings)
-          Each entry in this list will be registered to column map. This is
-          used to make column mapper choose tables differently.
     """
     self.logical_operator = kw.pop('logical_operator', kw.pop('operator', 'and')).lower()
     assert self.logical_operator in ('and', 'or', 'not'), self.logical_operator
     unknown_column_dict = kw.pop('unknown_column_dict', {})
     self.from_expression = unknown_column_dict.pop('from_expression', None)
-    self.implicit_table_list = kw.pop('implicit_table_list', [])
     query_list = []
     append = query_list.append
     extend = query_list.extend
@@ -203,8 +199,6 @@ class ComplexQuery(Query):
 
   @profiler_decorator
   def registerColumnMap(self, sql_catalog, column_map):
-    for implicit_table_column in self.implicit_table_list:
-      column_map.registerColumn(implicit_table_column)
     for query in self.query_list:
       query.registerColumnMap(sql_catalog, column_map)
 

Modified: erp5/trunk/products/ZSQLCatalog/SQLCatalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SQLCatalog.py?rev=45764&r1=45763&r2=45764&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SQLCatalog.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SQLCatalog.py [utf8] Mon May  2 10:13:16 2011
@@ -2165,10 +2165,6 @@ class Catalog(Folder,
     # buildSQLQuery level, we must store them into final ComplexQuery, which
     # will handle them.
     unknown_column_dict = {}
-    # implicit_table_list: contains all tables explicitely given as par of
-    # column names with empty values. This is for backward compatibility. See
-    # comment about empty values.
-    implicit_table_list = []
     # empty_value_dict: contains all keys whose value causes them to be
     # discarded.
     empty_value_dict = {}
@@ -2185,14 +2181,7 @@ class Catalog(Folder,
             or value['query'] == ''
             or (isinstance(value['query'], (list, tuple))
               and len(value['query']) == 0)))):
-        # We have an empty value:
-        # - do not create a query from it
-        # - if key has a dot, add its left part to the list of "hint" tables
-        #   This is for backward compatibility, when giving a mapped column
-        #   with an empty value caused a join with catalog to appear in
-        #   resulting where-expression)
-        if '.' in key:
-          implicit_table_list.append(key)
+        # We have an empty value, do not create a query from it
         empty_value_dict[key] = value
       else:
         script = self.getScriptableKeyScript(key)
@@ -2235,7 +2224,8 @@ class Catalog(Folder,
       LOG('SQLCatalog', WARNING, 'Discarding columns with empty values: %r' % (empty_value_dict, ))
     if len(unknown_column_dict):
       LOG('SQLCatalog', WARNING, 'Unknown columns %r, skipped.' % (unknown_column_dict.keys(), ))
-    return ComplexQuery(query_list, logical_operator=operator, unknown_column_dict=unknown_column_dict, implicit_table_list=implicit_table_list)
+    return ComplexQuery(query_list, logical_operator=operator,
+        unknown_column_dict=unknown_column_dict)
 
   @profiler_decorator
   def buildOrderByList(self, sort_on=None, sort_order=None, order_by_expression=None):



More information about the Erp5-report mailing list