Show
Ignore:
Timestamp:
02/23/06 20:44:25 (18 years ago)
Author:
jerome
Message:

Huge speed improvement in data retrieval when wildcards are not used.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/pykota/storages/sql.py

    r2749 r2754  
    376376        if result : 
    377377            patterns = printerpattern.split(",") 
     378            try : 
     379                patdict = {}.fromkeys(patterns) 
     380            except AttributeError :     
     381                # Python v2.2 or earlier 
     382                patdict = {} 
     383                for p in patterns : 
     384                    patdict[p] = None 
    378385            for record in result : 
    379386                pname = self.databaseToUserCharset(record["printername"]) 
    380                 if self.tool.matchString(pname, patterns) : 
     387                if patdict.has_key(pname) or self.tool.matchString(pname, patterns) : 
    381388                    printer = StoragePrinter(self, pname) 
    382389                    printer.ident = record.get("id") 
     
    404411        if result : 
    405412            patterns = userpattern.split(",") 
     413            try : 
     414                patdict = {}.fromkeys(patterns) 
     415            except AttributeError :     
     416                # Python v2.2 or earlier 
     417                patdict = {} 
     418                for p in patterns : 
     419                    patdict[p] = None 
    406420            for record in result : 
    407421                uname = self.databaseToUserCharset(record["username"]) 
    408                 if self.tool.matchString(uname, patterns) : 
     422                if patdict.has_key(uname) or self.tool.matchString(uname, patterns) : 
    409423                    user = StorageUser(self, uname) 
    410424                    user.ident = record.get("id") 
     
    429443        if result : 
    430444            patterns = grouppattern.split(",") 
     445            try : 
     446                patdict = {}.fromkeys(patterns) 
     447            except AttributeError :     
     448                # Python v2.2 or earlier 
     449                patdict = {} 
     450                for p in patterns : 
     451                    patdict[p] = None 
    431452            for record in result : 
    432453                gname = self.databaseToUserCharset(record["groupname"]) 
    433                 if self.tool.matchString(gname, patterns) : 
     454                if patdict.has_key(gname) or self.tool.matchString(gname, patterns) : 
    434455                    group = StorageGroup(self, gname) 
    435456                    group.ident = record.get("id")