The list of indexes on a table now also shows the access method (ie btree)

This commit is contained in:
eelke 2018-08-25 18:11:12 +02:00
parent 7c4f1a4752
commit 50cb21b6f9
17 changed files with 198 additions and 26 deletions

View file

@ -1,6 +1,7 @@
#include "PgDatabaseCatalog.h"
#include "ASyncDBConnection.h"
#include "PgAmContainer.h"
#include "PgAttributeContainer.h"
#include "PgAuthIdContainer.h"
#include "PgClassContainer.h"
@ -128,32 +129,36 @@ void PgDatabaseCatalog::loadAll(Pgsql::Connection &conn,
std::function<bool(int, int)> progress_callback)
{
loadInfo(conn);
const int count = 10;
int n = 0;
if (progress_callback && !progress_callback(++n, 9))
if (progress_callback && !progress_callback(++n, count))
return;
load2(m_namespaces, conn);
if (progress_callback && !progress_callback(++n, 9))
if (progress_callback && !progress_callback(++n, count))
return;
load2(m_classes, conn); // needs namespaces
if (progress_callback && !progress_callback(++n, 9))
if (progress_callback && !progress_callback(++n, count))
return;
load2(m_attributes, conn);
if (progress_callback && !progress_callback(++n, 9))
if (progress_callback && !progress_callback(++n, count))
return;
load2(m_authIds, conn);
if (progress_callback && !progress_callback(++n, 9))
if (progress_callback && !progress_callback(++n, count))
return;
load2(m_constraints, conn);
if (progress_callback && !progress_callback(++n, 9))
if (progress_callback && !progress_callback(++n, count))
return;
load2(m_databases, conn);
if (progress_callback && !progress_callback(++n, 9))
if (progress_callback && !progress_callback(++n, count))
return;
load2(m_indexes, conn);
if (progress_callback && !progress_callback(++n, 9))
if (progress_callback && !progress_callback(++n, count))
return;
load2(m_ams, conn);
if (progress_callback && !progress_callback(++n, count))
return;
load2(m_types, conn);
progress_callback && progress_callback(++n, 9);
progress_callback && progress_callback(++n, count);
}
void PgDatabaseCatalog::loadInfo(Pgsql::Connection &conn)
@ -230,6 +235,11 @@ std::shared_ptr<const PgIndexContainer> PgDatabaseCatalog::indexes() const
return m_indexes;
}
std::shared_ptr<const PgAmContainer> PgDatabaseCatalog::ams() const
{
return m_ams;
}
std::shared_ptr<const PgNamespaceContainer> PgDatabaseCatalog::namespaces() const
{
return m_namespaces;