Re: [HACKERS] tuplesort_gettuple_common() and *should_free argument

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: [HACKERS] tuplesort_gettuple_common() and *should_free argument
Дата
Msg-id CA+TgmobCC08z9_N9G4MZiB1uyHthWQhM-nJnENnhyPfJaJRApw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] tuplesort_gettuple_common() and *should_free argument  (Peter Geoghegan <pg@heroku.com>)
Ответы Re: [HACKERS] tuplesort_gettuple_common() and *should_free argument
Список pgsql-hackers
On Mon, Dec 12, 2016 at 2:30 PM, Peter Geoghegan <pg@heroku.com> wrote:
> On Mon, Dec 12, 2016 at 9:31 AM, Robert Haas <robertmhaas@gmail.com> wrote:
>> I think this patch might have a bug.  In the existing code,
>> tuplesort_gettupleslot sets should_free = true if it isn't already
>> just before calling ExecStoreMinimalTuple((MinimalTuple) stup.tuple,
>> slot, should_free), so it seems that ExecStoreMinimalTuple() will
>> always get "true" as the fourth argument. However the patch changes
>> that line of code like this:
>>
>> +        ExecStoreMinimalTuple((MinimalTuple) stup.tuple, slot, false);
>>
>> So the patch seems to have the effect of changing the fourth argument
>> to this call to ExecStoreMinimalTuple() from always-true to
>> always-false.  I might be missing something, but my guess is that's
>> not right.
>
> There was a memory leak added by 0001-*, but then fixed by 0002-*. I
> should have done more testing of 0001-* alone. Oops.
>
> Attached revision of 0001-* fixes this. A revised 0002-* is also
> attached, just as a convenience for reviewers (they won't need to
> resolve the conflict themselves).

Committed 0001.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: [HACKERS] Nested Wait Events?
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: [HACKERS] jacana hung after failing to acquire random number