Re: Multiple Xids in PGPROC?
Bruce Momjian <pgman@candle.pha.pa.us>
From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Manfred Koizar <mkoi-pg@aon.at>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@dcc.uchile.cl>, Hackers <pgsql-hackers@postgresql.org>
Date: 2004-05-06T02:49:45Z
Lists: pgsql-hackers
Manfred Koizar wrote: > With subtransactions we'd have to fall back to checking pg_clog (and > pg_subtrans) in certain cases. There are lots of possible > implementations. Here are some ideas (just brainstorming): > > . We could first scan the PGPROC array. If the xid is an active main > transaction, we're finished. > > . If xid is older than RecentGlobalXmin, it cannot be active. > > . We could include a small number of subtransaction xids in PGPROC. > > . For additional subtransactions not fitting into this small array > there could be minsubxid and maxsubxid fields in PGPROC. If the xid we > are looking for is outside all these ranges, it cannot be an active > subtransaction. > > . If all these tests fail, we fall back to checking pg_clog. Could we add a boolean to each PROC structure indicating if that xid has subtransactions? If none have subtransactions, we don't need to look in pg_clog. -- 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