Re: Retrieve memory size allocated by libpq

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Retrieve memory size allocated by libpq
Дата
Msg-id CAFj8pRAM16VBxO0h_4BpYNQt-g1Q=yRiTKhAgGrU=zTC=45VDw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Retrieve memory size allocated by libpq  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers


2018-09-12 0:59 GMT+02:00 Tom Lane <tgl@sss.pgh.pa.us>:
Pavel Stehule <pavel.stehule@gmail.com> writes:
> The implementation of PQresultMemsize is simple and correct.

Hm, well, only for small values of "correct".  A quick look at PQclear
to see just what it clears shows that PGEvent objects associated with the
PGresult were overlooked. 

My mistake. I though so event data are independent.
 
While that's not hard to fix (and I did so),
there's a problem hiding behind that: we have no idea what sort of
"instance data" the external event procedures may have associated with
the PGresult.  In principle, any space occupied by such data needs to
be accounted for in this number.

This isn't an issue if the event procedure takes the lazy man's approach
of using PQresultAlloc to allocate such data.  That's recommendable anyway
since it saves having to write cleanup logic; and even if you don't do it
like that, the space involved may be negligible.  Still, I can foresee an
eventual need to let event procedures adjust the result-size number,
along the lines of PQincrementMemorySize(PGresult *res, size_t delta).
But that can probably wait till somebody actually requests it.

I didn't like the name "PQresultMemsize" much either, and changed it to
"PQresultMemorySize", which seems more in keeping with naming and
capitalization conventions elsewhere in libpq.

Pushed with those and some cosmetic changes.

Thank you

Pavel


                        regards, tom lane

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: stat() on Windows might cause error if target file is largerthan 4GB
Следующее
От: Masahiko Sawada
Дата:
Сообщение: Re: [HACKERS] Restricting maximum keep segments by repslots