version 1.140, 2011/02/17 18:23:58
|
version 1.141, 2011/02/23 19:43:04
|
Line 1000 class ZSQLExtendFolder(Folder,Persistent
|
Line 1000 class ZSQLExtendFolder(Folder,Persistent
|
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="+dbc.tilevel) |
dbc.tilevel = 0 |
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) |
|
|