--- ZSQLExtend/ZSQLExtend.py 2011/02/14 22:00:50 1.138 +++ ZSQLExtend/ZSQLExtend.py 2011/02/17 18:23:58 1.140 @@ -10,6 +10,8 @@ from Products.PageTemplates.ZopePageTemp from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.ZSQLMethods.SQL import SQLConnectionIDs +from Shared.DC.ZRDB.Results import Results + from xml.sax.saxutils import escape from types import * import Shared.DC.ZRDB.DA @@ -586,12 +588,13 @@ class ZSQLExtendFolder(Folder,Persistent 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""" self.connection_id=connection_id self.weight=weight self.label=label self.description=description + self.autocommit = (autocommit == "on") if REQUEST is not None: return self.manage_main(self, REQUEST) @@ -995,6 +998,9 @@ class ZSQLExtendFolder(Folder,Persistent con = self.getConnectionObj() # call to get db object dbc = con() + if getattr(self, 'autocommit', False): + # force transaction isolation level (for psycopg2 0=autocommit) + dbc.tilevel = 0 res = dbc.query(query, max_rows=max_rows) # return result set as Result object with Brains return Results(res)