Bruce Momjian wrote:
> > Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > > We discussed using 'ROLLBACK' before passing a connection to a new user,
> > > but the problem was that ROLLBACK with no open transaction causes a
> > > server log error message. We discussed adding 'ROLLBACK SILENT' to fix
> > > this, but I believe a better, more portable solution is a simple "BEGIN
> > > WORK;ROLLBACK". This will do nothing if there is no open transaction,
> >
> > How is that an improvement? It only changes the case in which you get
> > a NOTICE from not-in-transaction to in-transaction ...
>
> Well, the most common case is that you are not in a transaction.
Why not tracing PQcmdStatus(result) on the persistent connection? It allways returns "BEGIN",
"COMMIT" or "ROLLBACK" for whatever you issued.
Well, it'll not catch the uncommon case that someone might issue multiple queries in one statements
(semicolon separated). But that's IMHO bad practice anyway and the above will avoid communication, context switching
andeating up of XID's until we have silent rollback in 7.2.
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com