Andrew Chernow <[EMAIL PROTECTED]> writes:
>> To build on this analogy, PGEVT_CONNRESET is like a realloc.  Meaning, 
>> the initial malloc "PGEVT_REGISTER" worked by the realloc 
>> "PGEVT_CONNRESET" didn't ... you still have free "PGEVT_CONNDESTROY" the 
>> initial.  Its documented that way.  Basically if a register succeeds, a 
>> destroy will always be sent regardless of what happens with a reset.

> I attached the wrong patch.  I'm sorry.

I had a further thought about this: after applying this patch, it is
essentially useless for the exposed PQmakeEmptyPGresult function to
copy events into the result.  If it doesn't give them a RESULTCREATE
call, then they cannot receive RESULTCOPY or RESULTDESTROY either,
so they might as well not be there.

The argument for not having PQmakeEmptyPGresult fire RESULTCREATE still
makes sense, but I am thinking that maybe what we ought to do is expose
a new function named something like PQfireResultCreateEvents() that just
does that.  This would allow an application to exactly emulate what
PQgetResult does: make an empty PGresult, fill it, then fire the create
events.

I'll go ahead and apply this patch in a little bit, but if you concur
with the above reasoning, please put together a followon patch to add
such a function.

                        regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to