mirror of https://git.kore.io/kore.git
pgsql fixes + new wrappers
This commit is contained in:
parent
b19897b578
commit
9e3d19fbbd
|
@ -79,6 +79,7 @@ kore_pgsql_query(struct http_request *req, char *query, int idx)
|
||||||
req->pgsql[idx]->state = KORE_PGSQL_STATE_INIT;
|
req->pgsql[idx]->state = KORE_PGSQL_STATE_INIT;
|
||||||
req->pgsql[idx]->result = NULL;
|
req->pgsql[idx]->result = NULL;
|
||||||
req->pgsql[idx]->error = NULL;
|
req->pgsql[idx]->error = NULL;
|
||||||
|
req->pgsql[idx]->conn = NULL;
|
||||||
|
|
||||||
if (TAILQ_EMPTY(&pgsql_conn_free)) {
|
if (TAILQ_EMPTY(&pgsql_conn_free)) {
|
||||||
if (pgsql_conn_create(req, idx) == KORE_RESULT_ERROR)
|
if (pgsql_conn_create(req, idx) == KORE_RESULT_ERROR)
|
||||||
|
@ -212,15 +213,22 @@ kore_pgsql_cleanup(struct http_request *req)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
req->pgsql[i]->conn = NULL;
|
||||||
kore_mem_free(req->pgsql[i]);
|
kore_mem_free(req->pgsql[i]);
|
||||||
req->pgsql[i] = NULL;
|
req->pgsql[i] = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
kore_pgsql_ntuples(struct http_request *req, int idx)
|
kore_pgsql_ntuples(struct kore_pgsql *pgsql)
|
||||||
{
|
{
|
||||||
return (PQntuples(req->pgsql[idx]->result));
|
return (PQntuples(pgsql->result));
|
||||||
|
}
|
||||||
|
|
||||||
|
char *
|
||||||
|
kore_pgsql_getvalue(struct kore_pgsql *pgsql, int row, int col)
|
||||||
|
{
|
||||||
|
return (PQgetvalue(pgsql->result, row, col));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -233,7 +241,8 @@ pgsql_conn_create(struct http_request *req, int idx)
|
||||||
kore_debug("pgsql_conn_create(): %p", conn);
|
kore_debug("pgsql_conn_create(): %p", conn);
|
||||||
memset(conn, 0, sizeof(*conn));
|
memset(conn, 0, sizeof(*conn));
|
||||||
|
|
||||||
conn->db = PQconnectdb("host=/var/run/postgresql/ user=joris");
|
/* XXX don't forget to make this configurable. */
|
||||||
|
conn->db = PQconnectdb("host=/tmp/ user=joris");
|
||||||
if (conn->db == NULL || (PQstatus(conn->db) != CONNECTION_OK)) {
|
if (conn->db == NULL || (PQstatus(conn->db) != CONNECTION_OK)) {
|
||||||
req->pgsql[idx]->state = KORE_PGSQL_STATE_ERROR;
|
req->pgsql[idx]->state = KORE_PGSQL_STATE_ERROR;
|
||||||
req->pgsql[idx]->error = kore_strdup(PQerrorMessage(conn->db));
|
req->pgsql[idx]->error = kore_strdup(PQerrorMessage(conn->db));
|
||||||
|
@ -264,6 +273,7 @@ pgsql_conn_cleanup(struct pgsql_conn *conn)
|
||||||
i = conn->job->idx;
|
i = conn->job->idx;
|
||||||
req = conn->job->req;
|
req = conn->job->req;
|
||||||
|
|
||||||
|
req->pgsql[i]->conn = NULL;
|
||||||
req->pgsql[i]->state = KORE_PGSQL_STATE_ERROR;
|
req->pgsql[i]->state = KORE_PGSQL_STATE_ERROR;
|
||||||
req->pgsql[i]->error = kore_strdup(PQerrorMessage(conn->db));
|
req->pgsql[i]->error = kore_strdup(PQerrorMessage(conn->db));
|
||||||
req->flags &= ~HTTP_REQUEST_SLEEPING;
|
req->flags &= ~HTTP_REQUEST_SLEEPING;
|
||||||
|
|
Loading…
Reference in New Issue