Re: Use function smgrclose() to replace the loop

From: Junwang Zhao <zhjwpku(at)gmail(dot)com>
To: Ilia Evdokimov <ilya(dot)evdokimov(at)tantorlabs(dot)com>
Cc: Steven Niu <niushiji(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Kirill Reshke <reshkekirill(at)gmail(dot)com>
Subject: Re: Use function smgrclose() to replace the loop
Date: 2024-10-15 10:55:50
Message-ID: CAEG8a3+o7Eh_6L+YA0vTXnNMcF1hgb3uRD7kRk+oUNhpf4+nQg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Oct 14, 2024 at 6:30 PM Ilia Evdokimov
<ilya(dot)evdokimov(at)tantorlabs(dot)com> wrote:
>
>
> On 14.08.2024 09:32, Steven Niu wrote:
> > Hi, Kirill, Junwang,
> >
> > I made this patch to address the refactor issue in our previous email
> > discussion.
> > https://www.postgresql.org/message-id/flat/CABBtG=cDTCBDCBK7McSy6bJR3s5xUTOg0vSFfuW8oLdUYyCscA(at)mail(dot)gmail(dot)com
> >
> >
> > That is, the for loop in function smgrdestroy() and smgrdounlinkall
> > can be replaced with smgrclose().
> >
> > for (forknum = 0; forknum <= MAX_FORKNUM; forknum++)
> > smgrsw[reln->smgr_which].smgr_close(reln, forknum);
> > -->
> > smgrclose(rels[i]);
> >
> > Please let me know if you have any questions.
> >
> > Best Regards,
> > Steven from Highgo.com
>
> Hello,
>
> Are you sure we can refactor loop by 'smgrclose()'? I see it is not
> quite the same.

smgrclose does more by setting smgr_cached_nblocks[] and smgr_targblock
to InvalidBlockNumber, I see no harm with the replacement, not 100% sure
though.

>
> Regards,
> Ilia Evdokimov,
> Tantor Labs LLC.
>

--
Regards
Junwang Zhao

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2024-10-15 11:33:14 Re: Conflict detection for update_deleted in logical replication
Previous Message Dean Rasheed 2024-10-15 10:45:03 Re: New function normal_rand_array function to contrib/tablefunc.