"D'Arcy J.M. Cain" <[EMAIL PROTECTED]> writes: > On Thu, 18 Oct 2007 11:24:24 -0400 >> And use it in PostgreSQL like: >> >> ========================================= >> SELECT name, c_talktoremoteudp(emp, 1500) AS overpaid >> FROM emp >> WHERE name = 'Bill' OR name = 'Sam'; >> >> ========================================= >> The function c_talktoremoteudp will: >> 1. send udp data to remote udp server >> 2. monitor an udp port and wait for the reply >> 3. return the data to the select query. > > I am confused. The dynamic function resides in the server. The query > runs in the server. Where is the "remoteness" in any of this? Are you > saying that there is a second server that is not PostgreSQL that uses > UDP that you want to communicate with and merge info into the > PostgreSQL server from?
Yeah, what he wants is to implement a function in Postgres which does something like an LDAP or DNS lookup or something like that. Sure you can do this. The only tricky bit is the thing you mentioned about reusing the connection. You could always leave the connection in a safe state and don't need to worry about cleaning it up then you could just store it in a static variable which would be the simplest option. If you want to use Postgres's facilities for allocating memory and cleaning it up when no longer in use you can use some of the Postgres internal API for memory contexts and resource owners. But I don't see any particular reason you should need to worry about this stuff for something simple you're implementing yourself. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate