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

version 1.138, 2011/02/14 22:00:50 version 1.141, 2011/02/23 19:43:04
Line 10  from Products.PageTemplates.ZopePageTemp Line 10  from Products.PageTemplates.ZopePageTemp
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile  from Products.PageTemplates.PageTemplateFile import PageTemplateFile
   
 from Products.ZSQLMethods.SQL import SQLConnectionIDs  from Products.ZSQLMethods.SQL import SQLConnectionIDs
   from Shared.DC.ZRDB.Results import Results
   
 from xml.sax.saxutils import escape  from xml.sax.saxutils import escape
 from types import *  from types import *
 import Shared.DC.ZRDB.DA  import Shared.DC.ZRDB.DA
Line 586  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 995  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.138  
changed lines
  Added in v.1.141


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