#include "PgDatabaseContainer.h" #include "Pgsql_Col.h" std::string PgDatabaseContainer::getLoadQuery() const { return "SELECT pg_database.oid, datname, datdba, encoding, pg_encoding_to_char(encoding), datcollate,\n" " datctype, datistemplate, datallowconn, datconnlimit, dattablespace, \n" " case when has_database_privilege(current_role, oid, 'connect') then pg_database_size(oid) else -1 end,\n" " d.description, datacl\n" "FROM pg_database\n" " LEFT JOIN pg_catalog.pg_shdescription AS d ON (objoid=pg_database.oid)"; } PgDatabase PgDatabaseContainer::loadElem(const Pgsql::Row &row) { Pgsql::Col col(row); Oid oid = col.nextValue(); QString name = col.nextValue(); PgDatabase v(m_catalog, oid, name); col >> v.dba >> v.encoding >> v.encodingString >> v.collate >> v.ctype >> v.isTemplate >> v.allowConn >> v.connLimit >> v.tablespace >> v.sizeBytes >> v.description; AclList acl_list; col >> acl_list; v.setAcls(std::move(acl_list)); return v; }