From 720eb9e16eab13c2b5b538116da29bf43e25c450 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Wed, 29 Apr 2015 20:43:50 +0100 Subject: Centralize all the column reference storage logic --- libpqpp/selectcommand.cpp | 43 +------------------------------------------ 1 file changed, 1 insertion(+), 42 deletions(-) (limited to 'libpqpp/selectcommand.cpp') diff --git a/libpqpp/selectcommand.cpp b/libpqpp/selectcommand.cpp index 9854216..359cdfd 100644 --- a/libpqpp/selectcommand.cpp +++ b/libpqpp/selectcommand.cpp @@ -26,9 +26,6 @@ PQ::SelectCommand::~SelectCommand() PQclear(execRes); } } - for (unsigned int f = 0; f < fields.size(); f += 1) { - delete fields[f]; - } } void @@ -63,11 +60,8 @@ PQ::SelectCommand::execute() PGRES_COMMAND_OK); fetchTuples(); unsigned int nFields = PQnfields(execRes); - fields.resize(nFields); for (unsigned int f = 0; f < nFields; f += 1) { - Column * c = new Column(this, f); - fields[f] = c; - fieldsName[c->name] = c; + columns.insert(DB::ColumnPtr(new Column(this, f))); } executed = true; } @@ -103,38 +97,3 @@ PQ::SelectCommand::fetch() } } -const DB::Column& -PQ::SelectCommand::operator[](unsigned int n) const -{ - if (n < fields.size()) { - return *fields[n]; - } - throw Error(); -} - -const DB::Column& -PQ::SelectCommand::operator[](const Glib::ustring & n) const -{ - std::map::const_iterator i = fieldsName.find(n); - if (i != fieldsName.end()) { - return *i->second; - } - throw Error(); -} - -unsigned int -PQ::SelectCommand::getOrdinal(const Glib::ustring & n) const -{ - std::map::const_iterator i = fieldsName.find(n); - if (i != fieldsName.end()) { - return i->second->colNo; - } - throw Error(); -} - -unsigned int -PQ::SelectCommand::columnCount() const -{ - return fields.size(); -} - -- cgit v1.2.3