Re: Polyphase merge is obsolete

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: Polyphase merge is obsolete
Дата
Msg-id 529ebd53-57d5-17d9-8692-7c4fda65a159@iki.fi
обсуждение исходный текст
Ответ на Re: Polyphase merge is obsolete  (Peter Eisentraut <peter.eisentraut@enterprisedb.com>)
Ответы Re: Polyphase merge is obsolete  (Peter Eisentraut <peter.eisentraut@enterprisedb.com>)
Список pgsql-hackers
On 19/11/2022 13:00, Peter Eisentraut wrote:
> On 18.10.21 14:15, Heikki Linnakangas wrote:
>> On 05/10/2021 20:24, John Naylor wrote:
>>> I've had a chance to review and test out the v5 patches.
>>
>> Thanks! I fixed the stray reference to PostgreSQL 14 that Zhihong
>> mentioned, and pushed.
> 
> AFAICT, this thread updated the API of LogicalTapeSetCreate() in PG15,
> but did not adequately update the function header comment.  The comment
> still mentions the "shared" argument, which has been removed.  There is
> a new "preallocate" argument that is not mentioned at all.  Also, it's
> not easy to match the actual callers to the call variants described in
> the comment.  Could someone who remembers this work perhaps look this
> over and update the comment?

Is the attached more readable?

I'm not 100% sure of the "preallocate" argument. If I understand 
correctly, you should pass true if you are writing multiple tapes at the 
same time, and false otherwise. HashAgg passed true, tuplesort passes 
false. However, it's not clear to me why we couldn't just always do the 
preallocation. It seems pretty harmless even if it's not helpful. Or do 
it when there are multiple writer tapes, and not otherwise. The 
parameter was added in commit 0758964963 so presumably there was a 
reason, but at a quick glance at the thread that led to that commit, I 
couldn't see what it was.

- Heikki

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Split index and table statistics into different types of stats
Следующее
От: Andres Freund
Дата:
Сообщение: Re: pg_stat_bgwriter.buffers_backend is pretty meaningless (and more?)