Search Postgresql Archives

Re: LibPQ: Lifetime of PGresult passed in to PQnoticeReceiver callback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



пн, 13 дек. 2021 г. в 11:43, Dominique Devienne <ddevienne@xxxxxxxxx>:
>
> Hi,
>
> The doc at https://www.postgresql.org/docs/current/libpq-notice-processing.html is not clear to me on whether it should be PQclear'd or not. Who manages the lifetime of that PGresult?
libpq. That PGresult cleared by libpq right after the calling back to
the notice receiver.

>
> Also, the "could be called as long as either the PGconn or PGresult exist" mention,
> implies we do not need to clear the notice callback before PQfinish'ing the connection.
> (and that does not seem possible, given passing in a NULL pointer is just a *get* it seems).
> Is that correct?
There is no need to reset neither the notice receiver nor notice
processor before the call of PQfinish().

>
> Yet we are seeing our notice callback being called with an invalid PGresult (i.e. crash accessing it).
> What could be the reasons for that? I'm assuming user-error in our code, but I don't see why yet.
Please, ensure that there's no call of PQfinish() while either the
notice receiver or notice processor is runned.
Also, if the notice receiver delegates processing to another thread
then the PGresult must be copied and cleared by the application after
done.

PS. Please, avoid the notice processor.






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux