Re: Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands

From: Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>
To: Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>
Cc: Amul Sul <sulamul(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Avoid unnecessary table open/close for TRUNCATE foo, foo, foo; kind of commands
Date: 2021-04-10 02:32:35
Message-ID: CALj2ACX5JKVsY-scb9cpud6qhe4ue6BTLkjRHfHc2JOedHx2DQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Apr 9, 2021 at 9:23 PM Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com> wrote:
> On 2021/04/10 0:39, Amul Sul wrote:
> > On Fri, Apr 9, 2021 at 8:51 PM Bharath Rupireddy
> > <bharath(dot)rupireddyforpostgres(at)gmail(dot)com> wrote:
> >>
> >> Hi,
> >>
> >> While checking the ExecuteTruncate code for the FOREIGN TRUNCATE
> >> feature, I saw that we filter out the duplicate relations specified in
> >> the TRUNCATE command. But before skipping the duplicates, we are just
> >> opening the relation, then if it is present in the already seen
> >> relids, then closing it and continuing further.
> >>
> >> I think we can just have the duplicate checking before table_open so
> >> that in cases like TRUNCATE foo, foo, foo, foo; we could save costs of
> >> table_open and table_close. Attaching a small patch. Thoughts?
> >>
> >> This is just like what we already do for child tables, see following
> >> in ExecuteTruncate:
> >> foreach(child, children)
> >> {
> >> Oid childrelid = lfirst_oid(child);
> >>
> >> if (list_member_oid(relids, childrelid))
> >> continue;
> >>
> >
> > Well yes, the patch looks pretty much reasonable to be.
>
> LGTM, too. I will commit this patch.
> Though that code exists even in older version, I'm not thinking
> to back-patch that because it's not a bug.

Thanks. +1 to not back-patch.

With Regards,
Bharath Rupireddy.
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2021-04-10 02:52:05 Re: pgsql: autovacuum: handle analyze for partitioned tables
Previous Message Masahiko Sawada 2021-04-10 01:54:02 Re: Replication slot stats misgivings