Re: PATCH: decreasing memory needlessly consumed by array_agg
От | Ali Akbar |
---|---|
Тема | Re: PATCH: decreasing memory needlessly consumed by array_agg |
Дата | |
Msg-id | CACQjQLpXxTE14YT--KsN3Bov_j2weT3Gu-rp3+rRt6a22tT4Mg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: PATCH: decreasing memory needlessly consumed by array_agg (Ali Akbar <the.apaan@gmail.com>) |
Ответы |
Re: PATCH: decreasing memory needlessly consumed by array_agg
|
Список | pgsql-hackers |
2014-12-16 10:47 GMT+07:00 Ali Akbar <the.apaan@gmail.com>:
Regards,
--
Ali Akbar
2014-12-16 6:27 GMT+07:00 Tomas Vondra <tv@fuzzy.cz>:On 15.12.2014 22:35, Jeff Janes wrote:
> On Sat, Nov 29, 2014 at 8:57 AM, Tomas Vondra <tv@fuzzy.czThanks, attached is a version that fixes this.> <mailto:tv@fuzzy.cz>> wrote:
>
> Hi,
>
> Attached is v2 of the patch lowering array_agg memory requirements.
> Hopefully it addresses the issues issues mentioned by TL in this thread
> (not handling some of the callers appropriately etc.).
>
>
> Hi Tomas,
>
> When configured --with-libxml I get compilation errors:
>
> xml.c: In function 'xml_xpathobjtoxmlarray':
> xml.c:3684: error: too few arguments to function 'accumArrayResult'
> xml.c:3721: error: too few arguments to function 'accumArrayResult'
> xml.c: In function 'xpath':
> xml.c:3933: error: too few arguments to function 'initArrayResult'
> xml.c:3936: error: too few arguments to function 'makeArrayResult'
>
> And when configured --with-perl, I get:
>
> plperl.c: In function 'array_to_datum_internal':
> plperl.c:1196: error: too few arguments to function 'accumArrayResult'
> plperl.c: In function 'plperl_array_to_datum':
> plperl.c:1223: error: too few arguments to function 'initArrayResult'
>
> Cheers,Just fast-viewing the patch.
The patch is not implementing the checking for not creating new context in initArrayResultArr. I think we should implement it also there for consistency (and preventing future problems).
Looking at the modification in accumArrayResult* functions, i don't really comfortable with:
- Code that calls accumArrayResult* after explicitly calling initArrayResult* must always passing subcontext, but it has no effect.
- All existing codes that calls accumArrayResult must be changed.
- Adding parameter bool subcontext, only in initArrayResult* functions but not in accumArrayResult*
- Code that want to not creating subcontext must calls initArrayResult* explicitly.
What do you think?
Regards,
--
Ali Akbar
В списке pgsql-hackers по дате отправления: