Обсуждение: 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;
}