summaryrefslogtreecommitdiff
path: root/libpqpp
diff options
context:
space:
mode:
Diffstat (limited to 'libpqpp')
-rw-r--r--libpqpp/pq-selectcommand.cpp9
-rw-r--r--libpqpp/unittests/testpq.cpp9
2 files changed, 12 insertions, 6 deletions
diff --git a/libpqpp/pq-selectcommand.cpp b/libpqpp/pq-selectcommand.cpp
index 6c02fc4..55dc02c 100644
--- a/libpqpp/pq-selectcommand.cpp
+++ b/libpqpp/pq-selectcommand.cpp
@@ -21,15 +21,12 @@ PQ::SelectCommand::SelectCommand(Connection * conn, const std::string & sql, uns
PQ::SelectCommand::~SelectCommand()
{
+ if (executed) {
+ c->checkResultFree((PQexec(c->conn, s_close.c_str())), PGRES_COMMAND_OK);
+ }
if (txOpened) {
c->commitTx();
}
- if (executed) {
- PQclear(PQexec(c->conn, s_close.c_str()));
- if (execRes) {
- PQclear(execRes);
- }
- }
}
std::string
diff --git a/libpqpp/unittests/testpq.cpp b/libpqpp/unittests/testpq.cpp
index c49fa34..96e5611 100644
--- a/libpqpp/unittests/testpq.cpp
+++ b/libpqpp/unittests/testpq.cpp
@@ -160,6 +160,15 @@ BOOST_AUTO_TEST_CASE( bulkload )
delete ro;
}
+BOOST_AUTO_TEST_CASE( nofetch )
+{
+ auto ro = DB::MockDatabase::openConnectionTo("pqmock");
+ auto count = ro->newSelectCommand("SELECT * FROM bulktest");
+ count->execute();
+ delete count;
+ delete ro;
+}
+
BOOST_AUTO_TEST_CASE( bigIterate )
{
auto ro = DB::MockDatabase::openConnectionTo("pqmock");