Diff for /ZSQLExtend/ZSQLExtend.py between versions 1.140 and 1.143

version 1.140, 2011/02/17 18:23:58 version 1.143, 2012/02/15 08:08:42
Line 5  import urllib Line 5  import urllib
 import re  import re
 import string  import string
 #from pyPgSQL import libpq  #from pyPgSQL import libpq
   import psycopg2
 from AccessControl import getSecurityManager,Unauthorized  from AccessControl import getSecurityManager,Unauthorized
 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate  from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile  from Products.PageTemplates.PageTemplateFile import PageTemplateFile
Line 434  class ZSQLExtendFolder(Folder,Persistent Line 435  class ZSQLExtendFolder(Folder,Persistent
             options.replace_table=replace              options.replace_table=replace
             options.backup_table=backup              options.backup_table=backup
             options.debug=debug              options.debug=debug
                       logging.debug(options)
             if RESPONSE and log_to_response:              if RESPONSE and log_to_response:
                 # set up logging to response as plain text                  # set up logging to response as plain text
                 logging.debug("Setting up logging to RESPONSE")                  logging.debug("Setting up logging to RESPONSE")
Line 993  class ZSQLExtendFolder(Folder,Persistent Line 994  class ZSQLExtendFolder(Folder,Persistent
   
     def ZSQLSimpleSearch(self,query=None,max_rows=1000000):      def ZSQLSimpleSearch(self,query=None,max_rows=1000000):
         """new simple search"""          """new simple search"""
         logging.debug("new ZSQLSimpleSearch X %s"%query)          logging.debug("new ZSQLSimpleSearch %s"%query)
         # get Connection instance          # get Connection instance
         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):          if getattr(self, 'autocommit', False):
             # force transaction isolation level (for psycopg2 0=autocommit)              # force transaction isolation level (for psycopg2 0=autocommit)
               logging.debug("  old tilevel=%s"%dbc.tilevel)
             dbc.tilevel = 0              dbc.tilevel = 0
               # modified code from ZPsycopgDA.db without _register:
               c = dbc.getcursor()
               desc = ()
               r = []
               try:
                   try:
                       c.execute(query)
                       
                   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:
               logging.debug("  no autocommit")
               # 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.140  
changed lines
  Added in v.1.143


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