Lists: | pgsql-hackers |
---|
From: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | BUFFER_LOCK_EXCLUSIVE is used in ginbuildempty(). |
Date: | 2014-07-16 08:13:04 |
Message-ID: | 20140716.171304.232876096.horiguchi.kyotaro@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Hello,
As far as I see gin seems using GIN_EXCLUSIVE instead of
BUFFER_LOCK_EXCLUSIVE for LockBuffer, but the raw
BUFFER_LOCK_EXCLUSIVE appears in ginbuildempty().
Does it has a meaning to fix them to GIN_EXCLUSIVE?
regards,
--
Kyotaro Horiguchi
NTT Open Source Software Center
Attachment | Content-Type | Size |
---|---|---|
gin_buffer_lock_exclusive.patch | text/x-patch | 723 bytes |
From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: BUFFER_LOCK_EXCLUSIVE is used in ginbuildempty(). |
Date: | 2014-07-17 14:47:04 |
Message-ID: | 20140717144704.GK11811@eldon.alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Kyotaro HORIGUCHI wrote:
> Hello,
>
> As far as I see gin seems using GIN_EXCLUSIVE instead of
> BUFFER_LOCK_EXCLUSIVE for LockBuffer, but the raw
> BUFFER_LOCK_EXCLUSIVE appears in ginbuildempty().
>
> Does it has a meaning to fix them to GIN_EXCLUSIVE?
I don't understand the point of having these GIN_EXCLUSIVE / GIN_SHARED
symbols. It's not like we could do anything different than
BUFFER_LOCK_EXCLUSIVE etc instead. It there was a GinLockBuffer() it
might make more sense to have specialized symbols, but as it is it seems
pointless.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From: | Peter Geoghegan <pg(at)heroku(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Cc: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: BUFFER_LOCK_EXCLUSIVE is used in ginbuildempty(). |
Date: | 2014-07-17 19:05:00 |
Message-ID: | CAM3SWZTvA1bWVA+4m=edmY7q2R383gpwaKTp0QW+5mC3xAQSng@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
On Thu, Jul 17, 2014 at 7:47 AM, Alvaro Herrera
<alvherre(at)2ndquadrant(dot)com> wrote:
> I don't understand the point of having these GIN_EXCLUSIVE / GIN_SHARED
> symbols. It's not like we could do anything different than
> BUFFER_LOCK_EXCLUSIVE etc instead. It there was a GinLockBuffer() it
> might make more sense to have specialized symbols, but as it is it seems
> pointless.
It's a pattern common to the index AMs. I think it's kind of pointless
myself, but as long as we're doing it we might as well be consistent.
--
Peter Geoghegan
From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Peter Geoghegan <pg(at)heroku(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: BUFFER_LOCK_EXCLUSIVE is used in ginbuildempty(). |
Date: | 2014-07-17 19:54:31 |
Message-ID: | 10710.1405626871@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Peter Geoghegan <pg(at)heroku(dot)com> writes:
> On Thu, Jul 17, 2014 at 7:47 AM, Alvaro Herrera
> <alvherre(at)2ndquadrant(dot)com> wrote:
>> I don't understand the point of having these GIN_EXCLUSIVE / GIN_SHARED
>> symbols. It's not like we could do anything different than
>> BUFFER_LOCK_EXCLUSIVE etc instead. It there was a GinLockBuffer() it
>> might make more sense to have specialized symbols, but as it is it seems
>> pointless.
> It's a pattern common to the index AMs. I think it's kind of pointless
> myself, but as long as we're doing it we might as well be consistent.
I think that to the extent that these symbols are used in APIs above the
direct buffer-access layer, they are useful --- for example using
BT_READ/BT_WRITE in _bt_search calls seems like a useful increment of
readability. GIN seems to have less of that than some of the other AMs,
but I do see GIN_SHARE being used that way in some calls.
BTW, there's one direct usage of BUFFER_LOCK_EXCLUSIVE in the GIST code
as well, which should probably be replaced with GIST_EXCLUSIVE if we're
trying to be consistent.
regards, tom lane
From: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | tgl(at)sss(dot)pgh(dot)pa(dot)us |
Cc: | pg(at)heroku(dot)com, alvherre(at)2ndquadrant(dot)com, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: BUFFER_LOCK_EXCLUSIVE is used in ginbuildempty(). |
Date: | 2014-07-22 10:03:03 |
Message-ID: | 20140722.190303.225303886.horiguchi.kyotaro@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Hello,
At Thu, 17 Jul 2014 15:54:31 -0400, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote in <10710(dot)1405626871(at)sss(dot)pgh(dot)pa(dot)us>
> Peter Geoghegan <pg(at)heroku(dot)com> writes:
> > On Thu, Jul 17, 2014 at 7:47 AM, Alvaro Herrera
> > <alvherre(at)2ndquadrant(dot)com> wrote:
> >> I don't understand the point of having these GIN_EXCLUSIVE / GIN_SHARED
> >> symbols. It's not like we could do anything different than
> >> BUFFER_LOCK_EXCLUSIVE etc instead. It there was a GinLockBuffer() it
> >> might make more sense to have specialized symbols, but as it is it seems
> >> pointless.
I agree with you. From the eyes not specialized for each AM, of
me, the translation-only symbols didn't make me so happy.
> > It's a pattern common to the index AMs. I think it's kind of pointless
> > myself, but as long as we're doing it we might as well be consistent.
>
> I think that to the extent that these symbols are used in APIs above the
> direct buffer-access layer, they are useful --- for example using
> BT_READ/BT_WRITE in _bt_search calls seems like a useful increment of
> readability. GIN seems to have less of that than some of the other AMs,
> but I do see GIN_SHARE being used that way in some calls.
>
> BTW, there's one direct usage of BUFFER_LOCK_EXCLUSIVE in the GIST code
> as well, which should probably be replaced with GIST_EXCLUSIVE if we're
> trying to be consistent.
Though I brought up this topic, this kind of consistency seems
not needed so much. If so, it seems better to be left as it is.
regards,
--
Kyotaro Horiguchi
NTT Open Source Software Center