** Changed in: openobject-server
       Status: New => Confirmed

** Changed in: openobject-server
     Assignee: (unassigned) => OpenERP's Framework R&D (openerp-dev-framework)

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/781297

Title:
  sql_db missing "temporary" cursors

Status in OpenERP Server:
  Confirmed

Bug description:
  In sql_db.py, each time we ask for a connection to a database (dsn, to be 
more exact), the ConnectionPool there picks one of the available ones or 
creates a new. When we are finished (ie. close and free the cursor), it puts 
the connection back into the pool (but keeps it open).
  This means that we _cannot_ have a method to poll a db (ie. connect, query, 
disconnect). This is needed in some cases, where we need to see if a db is 
valid to use. Example, in ftp/webdav or other "service" addons, we list the dbs 
and then look inside them for the appropriate settings, to see if we can use 
them.

  Results: we end up holding unnecessary connections to idle dbs, or
  even block buildbot from dropping them.

  Recommended solution: write a method in sql_db.py, which will fetch a
  cursor with "temporary" behavior. If the cursor had come from the pool
  (ie. was open before), it will go back there. If not, it will freed
  and the connection closed. This will be an API enhancement, backwards
  compatible.

_______________________________________________
Mailing list: https://launchpad.net/~c2c-oerpscenario
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~c2c-oerpscenario
More help   : https://help.launchpad.net/ListHelp

Reply via email to