Diff for /ZSQLExtend/ZSQLExtend.py between versions 1.139 and 1.141

version 1.139, 2011/02/14 22:11:03 version 1.141, 2011/02/23 19:43:04
Line 588  class ZSQLExtendFolder(Folder,Persistent Line 588  class ZSQLExtendFolder(Folder,Persistent
         return pt()          return pt()
   
   
     def changeZSQLExtend(self,label,description,weight=0,connection_id=None,REQUEST=None,):      def changeZSQLExtend(self,label,description,weight=0,connection_id=None,autocommit=None,REQUEST=None,):
         """change the Konfiguration"""          """change the Konfiguration"""
         self.connection_id=connection_id          self.connection_id=connection_id
         self.weight=weight          self.weight=weight
         self.label=label          self.label=label
         self.description=description          self.description=description
           self.autocommit = (autocommit == "on")
                                           
         if REQUEST is not None:          if REQUEST is not None:
             return self.manage_main(self, REQUEST)              return self.manage_main(self, REQUEST)
Line 997  class ZSQLExtendFolder(Folder,Persistent Line 998  class ZSQLExtendFolder(Folder,Persistent
         con = self.getConnectionObj()          con = self.getConnectionObj()
         # call to get db object          # call to get db object
         dbc = con()          dbc = con()
           if getattr(self, 'autocommit', False):
               # force transaction isolation level (for psycopg2 0=autocommit)
               logging.debug("  old tilevel="+dbc.tilevel)
               dbc.tilevel = 0
               # modified code from ZPsycopgDA.db without _register:
               c = dbc.getcursor()
               desc = ()
               r = []
               try:
                   try:
                       c.execute(qs)
                       
                   except psycopg2.OperationalError:
                       #logging.exception("Operational error on connection, closing it.")
                       try:
                           # Only close our connection
                           dbc.putconn(True)
                       except:
                           #logging.debug("Something went wrong when we tried to close the pool", exc_info=True)
                           pass
                       
                   if c.description is not None:
                       if max_rows:
                           r = c.fetchmany(max_rows)
                       else:
                           r = c.fetchall()
                       desc = c.description
                       
                   dbc.failures = 0
       
               except StandardError, err:
                   raise err
               
               res = (dbc.convert_description(desc), r)
               
           else:   
               # just use DA's query method
         res = dbc.query(query, max_rows=max_rows)          res = dbc.query(query, max_rows=max_rows)
               
         # return result set as Result object with Brains          # return result set as Result object with Brains
         return Results(res)          return Results(res)
                   

Removed from v.1.139  
changed lines
  Added in v.1.141


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