Re: MergeAppend could consider sorting cheapest child path - Mailing list pgsql-hackers

From Alexander Pyhalov
Subject Re: MergeAppend could consider sorting cheapest child path
Date
Msg-id b1a19522b5f04e9c81495d06f5925d24@postgrespro.ru
Whole thread Raw
In response to Re: MergeAppend could consider sorting cheapest child path  (Andrei Lepikhov <lepihov@gmail.com>)
Responses Re: MergeAppend could consider sorting cheapest child path
List pgsql-hackers
Andrei Lepikhov писал(а) 2025-05-07 08:02:
> On 5/5/2025 15:56, Alexander Pyhalov wrote:
>> Andrei Lepikhov писал(а) 2025-05-05 14:38:
>> Also logic a bit differs if path is NULL. In 
>> get_cheapest_path_for_pathkeys_ext() we explicitly check for path 
>> being NULL, in get_cheapest_fractional_path_for_pathkeys_ext() only 
>> after calculating sort cost.
>> 
>> I've tried to fix comments a bit and unified functions definitions.
> Generally seems ok, I'm not a native speaker to judge the comments. 
> But:
> if (base_path && path != base_path)
> 
> What is the case in your mind where the base_path pointer still may be 
> null at that point?

Hi.

It seems if some childrel doesn't have valid pathlist, subpaths_valid 
would be false in add_paths_to_append_rel()
and generate_orderedappend_paths() will not  be called. So when we 
iterate over live_childrels,
all of them will have cheapest_total path. This is why we can assert 
that base_path is not NULL.
-- 
Best regards,
Alexander Pyhalov,
Postgres Professional
Attachment

pgsql-hackers by date:

Previous
From: Richard Guo
Date:
Subject: Re: Reduce "Var IS [NOT] NULL" quals during constant folding
Next
From: Amit Kapila
Date:
Subject: Re: POC: enable logical decoding when wal_level = 'replica' without a server restart