Re: [HACKERS] Patching dblink.c to avoid warning about open
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] Patching dblink.c to avoid warning about open |
Дата | |
Msg-id | 200510071550.j97FoRp03730@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] Patching dblink.c to avoid warning about open transaction (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [HACKERS] Patching dblink.c to avoid warning about open transaction
|
Список | pgsql-patches |
Tom Lane wrote: > Bruce Momjian <pgman@candle.pha.pa.us> writes: > > Well, as I said in the patch email: > > > The reported problem is that dblink_open/dblink_close() (for cursor > > reads) do a BEGIN/COMMIT regardless of the transaction state of the > > remote connection. There was code in dblink.c to track the remote > > transaction state (rconn), but it was not being maintained or used. > > You should lose the remoteXactOpen flag entirely, in favor of just > testing PQtransactionStatus() on-the-fly when necessary. Simpler, > more reliable, not notably slower. > > With that change, the separate remoteConn struct could be dropped > altogether in favor of just using the PGconn pointer. This would > make things notationally simpler, and in fact perhaps allow undoing > the bulk of the edits in your patch. As-is I think the patch is > pretty risky to apply during beta. The problem with not using rconn is that we are not saving the transaction status at the _start_ of the cursor open. If we don't do that, we have no way of knowing on close if _we_ opened the transaction or whether it was opened by the user. -- 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, Pennsylvania 19073
В списке pgsql-patches по дате отправления: