Re: [HACKERS] PATCH: two slab-like memory allocators
От | Andres Freund |
---|---|
Тема | Re: [HACKERS] PATCH: two slab-like memory allocators |
Дата | |
Msg-id | 20170301225545.eoevemua234g4fzq@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: [HACKERS] PATCH: two slab-like memory allocators (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: [HACKERS] PATCH: two slab-like memory allocators
Re: [HACKERS] PATCH: two slab-like memory allocators |
Список | pgsql-hackers |
On 2017-02-28 20:29:36 -0800, Andres Freund wrote: > On 2017-02-28 20:18:35 -0800, Andres Freund wrote: > > - Andres, hoping the buildfarm turns greener > > Oh well, that didn't work. Investigating. The fix for that was fairly trivial, and the buildfarm has cooled down. The issue was that on 32bit platforms the Datum returned by some functions (int2int4_sum in this case) isn't actually a separately allocated Datum, but rather just something embedded in a larger struct. That, combined with the following code:if (!peraggstate->resulttypeByVal && !*isnull && !MemoryContextContains(CurrentMemoryContext, DatumGetPointer(*result))) seems somewhat problematic to me. MemoryContextContains() can give false positives when used on memory that's not a distinctly allocated chunk, and if so, we violate memory lifetime rules. It's quite unlikely, given the required bit patterns, but nonetheless it's making me somewhat uncomfortable. Do others think this isn't an issue and we can just live with it? Regards, Andres
В списке pgsql-hackers по дате отправления: