Thread: URGENT : free result (libpq++ API)
Hi all,
I’m using PG – 7.2.4 on Solaries.
I’m using “libpq++” library as client implementation is coded in “C++”.
I’m doing the following :
- Making the connection to database by creating new object of “PgDatabase” i.e.
data = new PgDatabase( “ CONNECTION INFO “);
- Then I execure the query with:
int return = data->Exec( “ THIS IS A SQL QUERY”);
My question is ,
How should I clear(free) the result of the query? Need I close the connection after each query to do that?
I wish to use the same connection for multiple queries.
This problem I’ve observed with “libpq++” only not with “libpq” With “libpq” APIs the,
“PQexec” API returns “PGresult” type pointer with which we can clear with the result of the query with “Pqclear(Pgresult *)” API.
Is the same functionality is present in “lipq++” APIs also?
Pls. help.
Thanks,
Anagha
On Thu, 21 Aug 2003, Anagha Joshi wrote: > Hi all, > I'm using PG - 7.2.4 on Solaries. > I'm using "libpq++" library as client implementation is coded in "C++". > > I'm doing the following : > 1. Making the connection to database by creating new object of > "PgDatabase" i.e. > data = new PgDatabase( " CONNECTION INFO "); > > 2. Then I execure the query with: > int return = data->Exec( " THIS IS A SQL QUERY"); > > My question is , > How should I clear(free) the result of the query? Need I close the > connection after each query to do that? It looks to me that PgConnection::Exec clears an existing query result when it's called. // PgConnection::exec -- send a query to the backend ExecStatusType PgConnection::Exec(const char* query) { // Clear the result stucture if needed if (pgResult) PQclear(pgResult); // Execute the given query pgResult = PQexec(pgConn, query); // Return the status if (pgResult) return PQresultStatus(pgResult); else return PGRES_FATAL_ERROR; }