Re: pgsql: Do not translate dummy SpecialJoinInfos for child joins

From: Amit Langote <amitlangote09(at)gmail(dot)com>
To: Amit Langote <amitlan(at)postgresql(dot)org>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Do not translate dummy SpecialJoinInfos for child joins
Date: 2024-03-25 10:22:09
Message-ID: CA+HiwqE93xYBpLMsVVC-_JdDcw5u0mGiONfy9P86u8Z0F=qxvA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On Mon, Mar 25, 2024 at 6:08 PM Amit Langote <amitlan(at)postgresql(dot)org> wrote:
> Do not translate dummy SpecialJoinInfos for child joins
>
> This teaches build_child_join_sjinfo() to create the dummy
> SpecialJoinInfos (those created for inner joins) directly for a given
> child join, skipping the unnecessary overhead of translating the
> parent joinrel's SpecialJoinInfo.
>
> To that end, this commit moves the code to initialize the dummy
> SpecialJoinInfos to a new function named init_dummy_sjinfo() and
> changes the few existing sites that have this code and
> build_child_join_sjinfo() to call this new function.
>
> Author: Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>
> Reviewed-by: Richard Guo <guofenglinux(at)gmail(dot)com>
> Reviewed-by: Amit Langote <amitlangote09(at)gmail(dot)com>
> Reviewed-by: Andrey Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru>
> Reviewed-by: Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>
> Discussion: https://postgr.es/m/CAExHW5tHqEf3ASVqvFFcghYGPfpy7o3xnvhHwBGbJFMRH8KjNw@mail.gmail.com
>
> Branch
> ------
> master
>
> Details
> -------
> https://git.postgresql.org/pg/commitdiff/6190d828cd25ae20c0a8548765a0e1b880f1f66d
>
> Modified Files
> --------------
> src/backend/optimizer/path/costsize.c | 37 ++--------------------
> src/backend/optimizer/path/joinrels.c | 58 +++++++++++++++++++++++++----------
> src/include/optimizer/paths.h | 2 ++
> 3 files changed, 46 insertions(+), 51 deletions(-)

I noticed a failure that I don't know what to make of after this and
the other commit (5278d0a2e) reached the buildfarm animal morepork:

https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=morepork&dt=2024-03-25%2009%3A30%3A38

In file included from ginbtree.c:17:
In file included from ../../../../src/include/access/gin_private.h:20:
../../../../src/include/lib/rbtree.h:1:1: error: unknown type name 'ator'
ator</structfield> <type>yes_or_no</type>
^
../../../../src/include/lib/rbtree.h:1:5: error: expected identifier or '('
ator</structfield> <type>yes_or_no</type>
^
In file included from ginbtree.c:17:
In file included from ../../../../src/include/access/gin_private.h:21:
In file included from ../../../../src/include/storage/bufmgr.h:22:
In file included from ../../../../src/include/utils/snapmgr.h:18:
../../../../src/include/utils/resowner.h:33:20: error: unknown type
name 'ResourceOwner'
extern PGDLLIMPORT ResourceOwner CurrentResourceOwner;
^
../../../../src/include/utils/resowner.h:34:20: error: unknown type
name 'ResourceOwner'
extern PGDLLIMPORT ResourceOwner CurTransactionResourceOwner;
^
../../../../src/include/utils/resowner.h:35:20: error: unknown type
name 'ResourceOwner'
extern PGDLLIMPORT ResourceOwner TopTransactionResourceOwner;
^
../../../../src/include/utils/resowner.h:36:20: error: unknown type
name 'ResourceOwner'
extern PGDLLIMPORT ResourceOwner AuxProcessResourceOwner;
^
../../../../src/include/utils/resowner.h:137:8: error: unknown type
name 'ResourceOwner'; did you mean 'ResourceOwnerDesc'?
extern ResourceOwner ResourceOwnerCreate(ResourceOwner parent,
^~~~~~~~~~~~~
ResourceOwnerDesc
../../../../src/include/utils/resowner.h:120:3: note:
'ResourceOwnerDesc' declared here
...

Does anyone know what might be going on here?

--
Thanks, Amit Langote

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Langote 2024-03-25 10:45:43 pgsql: Code review for 6190d828cd2
Previous Message Alexander Korotkov 2024-03-25 09:40:32 pgsql: reindexdb: Fix warning about uninitialized indices_tables_cell