Обсуждение: [Fwd: Re: [JDBC] Patch for handling "autocommit=false" in postgresql.conf]
Did anything come of this discussion on whether SET initiates a
transaction or not?
In summary what is the right way to deal with setting autocommit in clients?
thanks,
--Barry
-------- Original Message --------
Subject: Re: [JDBC] Patch for handling "autocommit=false" in postgresql.conf
Date: Tue, 17 Sep 2002 10:26:14 -0400
From: Tom Lane <tgl@sss.pgh.pa.us>
To: snpe <snpe@snpe.co.yu>
CC: pgsql-jdbc <pgsql-jdbc@postgresql.org>
References: <200209171425.50940.snpe@snpe.co.yu>
snpe <snpe@snpe.co.yu> writes:> + // handle autocommit=false in postgresql.conf> + if
(haveMinimumServerVersion("7.3")){> + ExecSQL("set autocommit to on; commit;");> +
}
The above will fill people's logs withWARNING: COMMIT: no transaction in progress
if they don't have autocommit off.
Usebegin; set autocommit to on; commit;
instead.
I would recommend holding off on this patch altogether, actually,
until we decide whether SET will be a transaction-initiating
command or not. I would still like to persuade the hackers community
that it should not be.
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://archives.postgresql.org
Barry Lind wrote: > Did anything come of this discussion on whether SET initiates a > transaction or not? SET does not start a multi-statement transaction when autocommit is off. > In summary what is the right way to deal with setting autocommit in clients? I guess just 'set autocommit to on' will do it. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
Barry,
Never mind.
Patch with 'begin;set autocommit to on;commit' work fine for JDBC spec.
regards,
Haris Peco
On Friday 11 October 2002 02:57 am, Barry Lind wrote:
> Did anything come of this discussion on whether SET initiates a
> transaction or not?
>
> In summary what is the right way to deal with setting autocommit in
> clients?
>
> thanks,
> --Barry
>
>
> -------- Original Message --------
> Subject: Re: [JDBC] Patch for handling "autocommit=false" in
> postgresql.conf Date: Tue, 17 Sep 2002 10:26:14 -0400
> From: Tom Lane <tgl@sss.pgh.pa.us>
> To: snpe <snpe@snpe.co.yu>
> CC: pgsql-jdbc <pgsql-jdbc@postgresql.org>
> References: <200209171425.50940.snpe@snpe.co.yu>
>
> snpe <snpe@snpe.co.yu> writes:
> > + // handle autocommit=false in postgresql.conf
> > + if (haveMinimumServerVersion("7.3")) {
> > + ExecSQL("set autocommit to on;
> > commit;"); + }
>
> The above will fill people's logs with
> WARNING: COMMIT: no transaction in progress
> if they don't have autocommit off.
>
> Use
> begin; set autocommit to on; commit;
> instead.
>
> I would recommend holding off on this patch altogether, actually,
> until we decide whether SET will be a transaction-initiating
> command or not. I would still like to persuade the hackers community
> that it should not be.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html