Hi!
I want to use a zpsycopg cursor in a zope product and found following
thread:
http://mail.zope.org/pipermail/zope-dev/2002-February/015179.html
So I did something like:
conn = self.pgaxel
db = conn().db
curs = db.cursor()
curs.execute("SELECT * FROM x")
ret = curs.dictfetchall()
return "%s" % ret
where pgaxel is my ZPsycoPG Database Connection, and 'x' ist a simple
table, seems to work fine at the first look, but, now to the problem.
When I look to my postgresql-logfiel I see:
LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
LOG: statement: SELECT * FROM x
that's all, so, the Transaktion is startet, but never endet, if I do a
second call, i get
LOG: statement: SELECT * FROM x
which means the same transaction ist used again.
That means that if I change data, the data is never visible outside,
becouse the transaktion is never closed!
Whe I do "SELECT * FROM x;END;", i get "WARNING: there is no
transaction in progress".
So, the question is, how can I make the stuff to auto-end at the end
of an REQUEST?
Thanks, from Vienna/Austria/EUROPE,
AXEL.
What can
--
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in RFC 2119 [http://ietf.org/rfc/rfc2119.txt]
|