|From:||Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>|
|To:||Andrew Chernow <ac(at)esilo(dot)com>|
|Cc:||Alvaro Herrera <alvherre(at)commandprompt(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Merlin Moncure <mmoncure(at)gmail(dot)com>|
|Subject:||Re: [PATCHES] libpq events patch (with sgml docs)|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
Andrew Chernow <ac(at)esilo(dot)com> 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
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
|Next Message||Tim Bruce - Postgres||2008-09-19 16:22:43||Re: Regaining superuser access|
|Previous Message||Jan Urbański||2008-09-19 16:05:36||Re: gsoc, oprrest function for text search take 2|
|Next Message||Andrew Chernow||2008-09-19 18:14:04||Re: [PATCHES] libpq events patch (with sgml docs)|
|Previous Message||Tom Lane||2008-09-19 13:50:42||Re: [PATCHES] libpq events patch (with sgml docs)|