libpq/async notifications - Mailing list pgsql-interfaces

From Igor Shevchenko
Subject libpq/async notifications
Date
Msg-id 200310111220.25923.igor@carcass.ath.cx
Whole thread Raw
Responses Re: libpq/async notifications  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-interfaces
Hi

Is there a way to only check if there's any pending async notifications ?
I've found only PQnotifies(..) but it also removes the first notification from 
the list.
A function for only checking this can be used in a gui app to setup async 
notifications processing so it happens only after an app reaches it's main 
loop (which is a good idea since it won't happen in the middle of another 
app's handler function which happens to use pgsql database interface).
Currently I have to check for notifications with PQnotifies every time my app 
returns to the main loop after using any of PGexec, etc, which is not very 
efficient.

The check function is as simple as:

int PQhasNotifies(PGconn *conn)
{       if (!conn)               return NULL;
       /* Parse any available data to see if we can extract NOTIFY messages*/       parseInput(conn);
       return NULL != DLGetHead(conn->notifyList);
}


-- 
Best regards,
Igor Shevchenko



pgsql-interfaces by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Embedded SQL: Putting a guard around included
Next
From: "D. Stimits"
Date:
Subject: more on undefined reference to 'pg_detoast_datum' and libpq