static bool pg_open(void) { char *portstr = NULL; if (srv.db_port > 0) if (asprintf(&portstr, "%d", srv.db_port) < 0) return false; srv.db_cxn = PQsetdbLogin(srv.db_host, portstr, NULL, NULL, srv.db_name, srv.db_username, srv.db_password); free(portstr); if (PQstatus(srv.db_cxn) != CONNECTION_OK) { applog(LOG_ERR, "failed to connect to postgresql: %s", PQerrorMessage(srv.db_cxn)); pg_close(); return false; } if (srv.db_stmt_pwdb == NULL || !*srv.db_stmt_pwdb) srv.db_stmt_pwdb = strdup(DEFAULT_STMT_PWDB); if (srv.db_stmt_sharelog == NULL || !*srv.db_stmt_sharelog) srv.db_stmt_sharelog = strdup(DEFAULT_STMT_SHARELOG); return true; }
int pclose() { return( pg_close() ); }
int dp_close( VOIDLIST ) { return( pg_close() ); }