#include "PgDatabaseContainer.h" #include "Pgsql_Connection.h" #include "Pgsql_Col.h" PgDatabaseContainer::PgDatabaseContainer(PgDatabaseCatalogue *cat) : PgContainer(cat) {} std::string PgDatabaseContainer::getLoadQuery() const { return "SELECT oid,datname,datdba,encoding,datcollate,datctype,datistemplate,datallowconn," "datconnlimit,dattablespace,datacl FROM pg_database"; } void PgDatabaseContainer::load(const Pgsql::Result &res) { const int n_rows = res.rows(); m_container.clear(); m_container.reserve(n_rows); for (auto row : res) { Pgsql::Col col(row); PgDatabase v; // v.oid << row.get(0); // InvalidOid; // v.name << row.get(1); // v.dba << row.get(2); // owner? // v.encoding << row.get(3); // v.collate << row.get(4); // v.ctype << row.get(5); // v.isTemplate << row.get(6); // v.allowConn << row.get(7); // v.connLimit << row.get(8); // v.tablespace << row.get(9); // v.acl << row.get(10); col >> v.oid >> v.name >> v.dba >> v.encoding >> v.collate >> v.ctype >> v.isTemplate >> v.allowConn >> v.connLimit >> v.tablespace >> v.acl; m_container.push_back(v); } std::sort(m_container.begin(), m_container.end()); }