Re: MergeAppend could consider sorting cheapest child path

From: Andrei Lepikhov <lepihov(at)gmail(dot)com>
To: Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru>
Cc: Andy Fan <zhihuifan1213(at)163(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>, Nikita Malakhov <HukuToc(at)gmail(dot)com>
Subject: Re: MergeAppend could consider sorting cheapest child path
Date: 2025-05-07 09:03:04
Message-ID: 33a72b35-2701-4328-ab26-5635941a4f94@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 7/5/2025 08:57, Alexander Pyhalov wrote:
> 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.
I'm not sure I understand you correctly. Under which conditions will
rel->cheapest_total_path be set to NULL for a childrel? Could you
provide an example?

--
regards, Andrei Lepikhov

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message jian he 2025-05-07 09:04:41 pg_dump does not dump domain not-null constraint's comments
Previous Message Andrei Lepikhov 2025-05-07 08:58:18 Re: Incorrect calculation of path fraction value in MergeAppend