2018-09-12 0:59 GMT+02:00 Tom Lane <t...@sss.pgh.pa.us>: > Pavel Stehule <pavel.steh...@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 >