Diff for /ZSQLExtend/ZSQLExtend.py between versions 1.114 and 1.115

version 1.114, 2007/04/20 06:36:01 version 1.115, 2007/04/20 08:33:17
Line 639  class ZSQLExtendFolder(Folder,Persistent Line 639  class ZSQLExtendFolder(Folder,Persistent
             return 1              return 1
         return 0          return 0
   
     def ZSQLMultiSearch(self,_table,_searchField,_value,_idField,_additionalStatement="",_select=None,_storename=None):      def ZSQLMultiSearch(self,_table,_searchField,_value,_idField,_additionalStatement="",_select=None,_subselectAddition="",_storename=None):
         """          """
         Durchsucht in einer Tabelle "table" die Spalte "searchfield" nach dem allen Vorkommnissen           Durchsucht in einer Tabelle "table" die Spalte "searchfield" nach dem allen Vorkommnissen 
         von Worten in value und gibt alle Werte mit gleichem id field zurŸck, d.h. es wird die "und" suche Ÿber mehrere Eintrsege in einer          von Worten in value und gibt alle Werte mit gleichem id field zurŸck, d.h. es wird die "und" suche Ÿber mehrere Eintrsege in einer
Line 664  class ZSQLExtendFolder(Folder,Persistent Line 664  class ZSQLExtendFolder(Folder,Persistent
         if not _select:          if not _select:
             _select=_idField              _select=_idField
                           
         queries.append("select %s from  %s %s where lower(%s) like '%%%s%%'"%(_select,_table,_additionalStatement,_searchField,splitted[0].lower()))          query="select %s from  %s %s where lower(%s) like '%%%s%%'"%(_select,_table,_additionalStatement,_searchField,splitted[0].lower())
                   
         if len(splitted)>1:          if len(splitted)>1: # mehr als ein Wort
               query+=" and %s in"%_idField # dann einschraenken 
             for v in splitted[1:]:              for v in splitted[1:]:
                 queries.append("select %s from  %s where lower(%s) like '%%%s%%'"%(_idField,_table,_searchField,v.lower()))                  queries.append("select %s from  %s %s where lower(%s) like '%%%s%%'"%(_idField,_table,_subselectAddition,_searchField,v.lower()))
                                   
         q=" and %s in ("%_idField  
         query=q.join(queries) # nun baue sie zusammen  
         for i in range(len(queries)-1):  
             query+=")" #noch die klammern schliessen  
                   
               intersect=" intersect ".join(queries) # nun baue sie zusammen
               query+="(%s)"%intersect
                   
                   
         logging.info("ZSQLSimple: %s"%query)          logging.info("ZSQLSimple: %s"%query)

Removed from v.1.114  
changed lines
  Added in v.1.115


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>