Hi! I hope that I'm in the correct list to ask this question. We have a
daemon that need to access our PostgreSQL database and have been trying to
use ecpg to generate the C source to use to access the database. Basically,
we're winding up with a bunch of open sockets for some reason. Here's the
function that accesses the database, and I'm wondering if we're closing the
connection properly (since we call this routine quite often...)
Thanks!
Bruce
int getuname(ipaddr)
char *ipaddr;
{
ECPGconnect("currentuser");
if (SQLCODE > 0) {
set_not_found_uname ();
} else {
unset_not_found_uname ();
}
if(sqlca.sqlcode) {
syslog(LLEV,"Error connecting to database server.\n");
exit(0);
}
/* First, let's check to see if the IP address exists in the database */
ECPGdo(__LINE__, "SELECT userid FROM usernames WHERE ipaddr = ;; ",
ECPGt_char,ipaddr,0L,0L,sizeof(char), ECPGt_EOIT,
ECPGt_char,&username,9L,0L,sizeof(char), ECPGt_EORT );
if (SQLCODE > 0) {
set_not_found_uname ();
} else {
unset_not_found_uname ();
}
ECPGtrans(__LINE__, "end");
return not_found_uname;
}