Re: ModifyTable overheads in generic plans

From: Amit Langote <amitlangote09(at)gmail(dot)com>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, David Rowley <dgrowleyml(at)gmail(dot)com>, "Tsunakawa, Takayuki" <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>
Subject: Re: ModifyTable overheads in generic plans
Date: 2021-02-09 08:38:06
Message-ID: CA+HiwqEkAqY+DY5zqXu_xa5E36KHUzM8DMcBx9Xrnp34rAYUHg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jan 25, 2021 at 2:23 PM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> On Tue, Dec 22, 2020 at 5:16 PM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> > On Mon, Dec 7, 2020 at 3:53 PM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> > > On Thu, Nov 12, 2020 at 5:04 PM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> > > > Attached new 0002 which does these adjustments. I went with
> > > > ri_RootTargetDesc to go along with ri_RelationDesc.
> > > >
> > > > Also, I have updated the original 0002 (now 0003) to make
> > > > GetChildToRootMap() use ri_RootTargetDesc instead of
> > > > ModifyTableState.rootResultRelInfo.ri_RelationDesc, so that even
> > > > AfterTriggerSaveEvent() can now use that function. This allows us to
> > > > avoid having to initialize ri_ChildToRootMap anywhere but inside
> > > > GetChildRootMap(), with that long comment defending doing so. :-)
> > >
> > > These needed to be rebased due to recent copy.c upheavals. Attached.
> >
> > Needed to be rebased again.
>
> And again, this time over the recent batch insert API related patches.

Another rebase.

I've dropped what was patch 0001 in the previous set, because I think
it has been rendered unnecessary due to recently committed changes.
However, the rebase led to a couple of additional regression test
output changes that I think are harmless. The changes are caused by
the fact that ri_RootResultRelInfo now gets initialized in *all* child
result relations, not just those that participate in tuple routing.

--
Amit Langote
EDB: http://www.enterprisedb.com

Attachment Content-Type Size
v14-0001-Set-ForeignScanState.resultRelInfo-lazily.patch application/octet-stream 4.1 KB
v14-0002-Initialize-result-relation-information-lazily.patch application/octet-stream 57.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2021-02-09 08:38:07 Re: [HACKERS] Custom compression methods
Previous Message Peter Smith 2021-02-09 08:33:22 Re: Single transaction in the tablesync worker?