2017-02-12 14:03:42 +01:00
|
|
|
|
#include "PgsqlDatabaseCatalogue.h"
|
|
|
|
|
|
#include "PgTypeContainer.h"
|
|
|
|
|
|
#include "PgDatabaseContainer.h"
|
2017-02-01 20:00:25 +01:00
|
|
|
|
#include "PgsqlConn.h"
|
2017-01-25 06:52:02 +01:00
|
|
|
|
|
|
|
|
|
|
PgsqlDatabaseCatalogue::PgsqlDatabaseCatalogue()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
2017-02-01 20:00:25 +01:00
|
|
|
|
|
|
|
|
|
|
PgsqlDatabaseCatalogue::~PgsqlDatabaseCatalogue()
|
|
|
|
|
|
{
|
|
|
|
|
|
delete m_types;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void PgsqlDatabaseCatalogue::loadAll(Pgsql::Connection &conn)
|
|
|
|
|
|
{
|
|
|
|
|
|
loadTypes(conn);
|
2017-02-12 14:03:42 +01:00
|
|
|
|
loadDatabases(conn);
|
2017-02-01 20:00:25 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
}
|
2017-02-12 14:03:42 +01:00
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
}
|