Changeset 189

Show
Ignore:
Timestamp:
01/16/11 21:13:14 (16 months ago)
Author:
mauro
Message:

fix bug using different biosql on same thread

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • plone4bio.biosql/trunk/src/plone4bio/biosql/content/root.py

    r174 r189  
    173173        if not self.dsn: 
    174174            return None 
    175         dbserver = getattr(self._v_thread_local, 'dbserver', None) 
     175        self._v_thread_local.dbconns = getattr(self._v_thread_local, 'dbconns', {}) 
     176        dbserver = self._v_thread_local.dbconns.get(self.dsn, None) 
    176177        if dbserver is None or not dbserver.adaptor.conn.is_valid: 
    177178            try: 
     
    181182            #TODO: manage OperationalError on connection 
    182183            dbserver = DBServer(wrapper.connection, __import__(drivers[self.dsn.split(':')[0]])) 
    183             self._v_thread_local.dbserver = dbserver 
     184            self._v_thread_local.dbconns[self.dsn] = dbserver 
    184185        return dbserver 
    185186