From 78d8eeadcf6642eb52b3b178d6da620b0bb34289 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 8 Oct 2023 16:58:13 +0100 Subject: Use unique_ptr for execution results --- libpqpp/pq-selectbase.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'libpqpp/pq-selectbase.cpp') diff --git a/libpqpp/pq-selectbase.cpp b/libpqpp/pq-selectbase.cpp index d884d06..00abdb9 100644 --- a/libpqpp/pq-selectbase.cpp +++ b/libpqpp/pq-selectbase.cpp @@ -9,22 +9,14 @@ #include PQ::SelectBase::SelectBase(const std::string & sql, const PQ::CommandOptionsCPtr & pqco) : - DB::Command(sql), DB::SelectCommand(sql), nTuples(0), tuple(0), execRes(nullptr), - binary(pqco ? pqco->fetchBinary : false) + DB::Command(sql), DB::SelectCommand(sql), nTuples(0), tuple(0), binary(pqco ? pqco->fetchBinary : false) { } -PQ::SelectBase::~SelectBase() -{ - if (execRes) { - PQclear(execRes); - } -} - void -PQ::SelectBase::createColumns(PGresult * execRes) +PQ::SelectBase::createColumns() { - auto nFields = PQnfields(execRes); + auto nFields = PQnfields(execRes.get()); for (decltype(nFields) f = 0; f < nFields; f += 1) { if (binary) { insertColumn(std::make_unique(this, f)); -- cgit v1.2.3