Re: pgsql: dshash: Add sequential scan support.

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pgsql: dshash: Add sequential scan support.
Date: 2022-07-11 04:50:25
Message-ID: CA+hUKG+uXChGNnAqu1vGsmFjk9uuYm4mYuG0hzgLnZSkKPAAHA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Tue, Jul 5, 2022 at 3:21 PM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:
> On Tue, Jul 5, 2022 at 11:25 AM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > On 2022-07-05 11:20:54 +1200, Thomas Munro wrote:
> > > Since there were 6 places with I-hold-no-lock assertions, I shoved the
> > > loop into a function so I could do:
> > >
> > > - Assert(!status->hash_table->find_locked);
> > > + assert_no_lock_held_by_me(hash_table);
> >
> > I am a *bit* wary about the costs of that, even in assert builds - each of the
> > partition checks in the loop will in turn need to iterate through
> > held_lwlocks. But I guess we can also just later weaken them if it turns out
> > to be a problem.
>
> Maybe we should add assertion support for arrays of locks, so we don't
> need two levels of loop? Something like the attached?

Pushed.

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2022-07-11 05:29:58 pgsql: Convert macros to static inline functions (bufpage.h)
Previous Message Thomas Munro 2022-07-11 04:47:47 pgsql: Fix lock assertions in dshash.c.

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro Horiguchi 2022-07-11 05:35:00 Re: Fix gcc warning in sync.c (usr/src/backend/storage/sync/sync.c)
Previous Message Justin Pryzby 2022-07-11 04:39:30 Re: proposal: Allocate work_mem From Pool