#include "PgsqlDatabaseCatalogue.h" #include "PgTypeContainer.h" #include "PgDatabaseContainer.h" #include "PgsqlConn.h" PgsqlDatabaseCatalogue::PgsqlDatabaseCatalogue() { } PgsqlDatabaseCatalogue::~PgsqlDatabaseCatalogue() { delete m_types; } void PgsqlDatabaseCatalogue::loadAll(Pgsql::Connection &conn) { loadTypes(conn); loadDatabases(conn); } void PgsqlDatabaseCatalogue::loadTypes(Pgsql::Connection &conn) { if (m_types == nullptr) { m_types = new PgTypeContainer; } std::string q = m_types->getLoadQuery(); Pgsql::Result result = conn.query(q.c_str()); m_types->load(result); } void PgsqlDatabaseCatalogue::loadDatabases(Pgsql::Connection &conn) { if (m_databases == nullptr) { m_databases = new PgDatabaseContainer; } std::string q = m_databases->getLoadQuery(); Pgsql::Result result = conn.query(q.c_str()); m_databases->load(result); } const PgTypeContainer* PgsqlDatabaseCatalogue::types() const { return m_types; } const PgDatabaseContainer *PgsqlDatabaseCatalogue::databases() const { return m_databases; }