Thanks. This is what I want to know :-) Regards,
Billow >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. On 10/18/07, D'Arcy J.M. Cain <[EMAIL PROTECTED]> wrote: > > On Thu, 18 Oct 2007 11:24:24 -0400 > "Billow Gao" <[EMAIL PROTECTED]> wrote: > > I can write the network program. > > But I am not 100% sure whether I can add the c-language function ( > > http://www.postgresql.org/docs/8.2/interactive/xfunc-c.html) > > to PostgreSQL. The function will be dynamic loaded by PostgreSQL. > > I want to know whether there are any limitation on the function I wrote. > > > > for example: > > If I want to write a function: > > > > PG_FUNCTION_INFO_V1(c_talktoremoteudp); > > > > > > 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? > > -- > D'Arcy J.M. Cain <[EMAIL PROTECTED]> | Democracy is three wolves > http://www.druid.net/darcy/ | and a sheep voting on > +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner. > > ---------------------------(end of broadcast)--------------------------- > TIP 2: Don't 'kill -9' the postmaster >