From: | Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> |
---|---|
To: | Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [COMMITTERS] pgsql-server: Rearrange pg_subtrans |
Date: | 2004-08-24 05:05:19 |
Message-ID: | 20040823220150.S31879@megazone.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
On Tue, 24 Aug 2004, Christopher Kings-Lynne wrote:
> > Uh ... the interesting question is usually not "does this backend hold
> > any row locks", it is "is this row locked by any backends". If the
> > latter question is not *exceedingly* cheap to answer, at least in the
> > normal case where the answer is no, you don't have a workable solution,
> > because you'll be adding nontrivial overhead to every row update.
>
> OK, what I mean is to know if a row is locked by any backend, why can't
> we just put a reference count of the number of locks on that row,
> instead of recording each backend separately? Wouldn't that require a
> fixed amount of shared mem?
AFAICT you have to do something on top of that to allow deadlock
detection. If transaction X has a shared row lock on A and is waiting on
a lock for me and I want to get an exclusive row lock on A, how do I
detect that it's a deadlock?
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2004-08-24 05:38:17 | Re: [COMMITTERS] pgsql-server: Rearrange pg_subtrans handling |
Previous Message | Christopher Kings-Lynne | 2004-08-24 04:59:36 | Re: [COMMITTERS] pgsql-server: Rearrange pg_subtrans handling |
From | Date | Subject | |
---|---|---|---|
Next Message | Christopher Kings-Lynne | 2004-08-24 05:13:35 | AT TIME ZONE |
Previous Message | Christopher Kings-Lynne | 2004-08-24 04:59:36 | Re: [COMMITTERS] pgsql-server: Rearrange pg_subtrans handling |