On Fri, 11 Sep 2015, Mark Morgan Lloyd wrote:
PostgreSQL has a useful feature where application programs can send
notifications to each other, this tends to be much "cheaper" than
periodically polling a table for changes.
I've had this working on various CPUs and OSes in a number of programs since
at least 2.2.4, but it appears to have been broken at some point between
2.6.0 and 2.6.4 with problems persisting through to 3.0.0-rc1 and trunk. The
specific fragment of code that's failing looks like this:
result := badPoll;
if PQStatus(DbTF.PQConnection1.Handle) <> CONNECTION_OK then
exit;
pqConsumeResult := PQconsumeInput(DbTF.PQConnection1.Handle);
if PQStatus(DbTF.PQConnection1.Handle) <> CONNECTION_OK then
exit;
If DbTF.PQConnection1 is of type TPQConnection then I think
this is your problem. The low-level handle has been moved to
the transaction. DbTF.PQConnection1.Handle is then a stub, of no value.
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal