diff options
author | Dan Goodliffe <daniel.goodliffe@pressassociation.com> | 2017-01-03 15:03:05 +0000 |
---|---|---|
committer | Dan Goodliffe <daniel.goodliffe@pressassociation.com> | 2017-01-03 15:16:54 +0000 |
commit | bac96d1b62dde949412a998cb0c3231ad179d870 (patch) | |
tree | ea7a72996c508d2c62104fe3ce523453b8f57d6b /libpqpp/pq-selectbase.cpp | |
parent | Only set unlogged for mocked tables on server versions 9.5 and above (diff) | |
download | libdbpp-postgresql-bac96d1b62dde949412a998cb0c3231ad179d870.tar.bz2 libdbpp-postgresql-bac96d1b62dde949412a998cb0c3231ad179d870.tar.xz libdbpp-postgresql-bac96d1b62dde949412a998cb0c3231ad179d870.zip |
Refactor to remove some duplication
Diffstat (limited to 'libpqpp/pq-selectbase.cpp')
-rw-r--r-- | libpqpp/pq-selectbase.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/libpqpp/pq-selectbase.cpp b/libpqpp/pq-selectbase.cpp index 1ede6b8..7dbdb4f 100644 --- a/libpqpp/pq-selectbase.cpp +++ b/libpqpp/pq-selectbase.cpp @@ -1,9 +1,28 @@ #include "pq-selectbase.h" +#include "pq-column.h" -PQ::SelectBase::SelectBase() : +PQ::SelectBase::SelectBase(const std::string & sql) : + DB::Command(sql), + DB::SelectCommand(sql), nTuples(0), tuple(0), execRes(NULL) { } +PQ::SelectBase::~SelectBase() +{ + if (execRes) { + PQclear(execRes); + } +} + +void +PQ::SelectBase::createColumns(PGresult * execRes) +{ + unsigned int nFields = PQnfields(execRes); + for (unsigned int f = 0; f < nFields; f += 1) { + insertColumn(DB::ColumnPtr(new Column(this, f))); + } +} + |