Some stuff I had on another machine and which might provide useful.
This commit is contained in:
parent
23e307f93a
commit
36e5526f5f
10 changed files with 325 additions and 13 deletions
|
|
@ -1,5 +1,6 @@
|
|||
#include "PgDatabaseCatalog.h"
|
||||
|
||||
#include "ASyncDBConnection.h"
|
||||
#include "PgAttributeContainer.h"
|
||||
#include "PgAuthIdContainer.h"
|
||||
#include "PgClassContainer.h"
|
||||
|
|
@ -11,6 +12,8 @@
|
|||
#include "Pgsql_Connection.h"
|
||||
#include "Pgsql_oids.h"
|
||||
|
||||
#include <QThread>
|
||||
|
||||
using namespace Pgsql;
|
||||
|
||||
QString getRoleNameFromOid(const PgDatabaseCatalog &cat, Oid oid)
|
||||
|
|
@ -100,17 +103,35 @@ PgDatabaseCatalog::~PgDatabaseCatalog()
|
|||
{
|
||||
}
|
||||
|
||||
void PgDatabaseCatalog::loadAll(Pgsql::Connection &conn)
|
||||
void PgDatabaseCatalog::loadAll(Pgsql::Connection &conn,
|
||||
std::function<bool(int, int)> progress_callback)
|
||||
{
|
||||
loadInfo(conn);
|
||||
if (progress_callback && !progress_callback(1, 9))
|
||||
return;
|
||||
load2(m_attributes, conn);
|
||||
if (progress_callback && !progress_callback(2, 9))
|
||||
return;
|
||||
load2(m_authIds, conn);
|
||||
if (progress_callback && !progress_callback(3, 9))
|
||||
return;
|
||||
load2(m_classes, conn);
|
||||
if (progress_callback && !progress_callback(4, 9))
|
||||
return;
|
||||
load2(m_constraints, conn);
|
||||
if (progress_callback && !progress_callback(5, 9))
|
||||
return;
|
||||
load2(m_databases, conn);
|
||||
if (progress_callback && !progress_callback(6, 9))
|
||||
return;
|
||||
load2(m_indexes, conn);
|
||||
if (progress_callback && !progress_callback(7, 9))
|
||||
return;
|
||||
load2(m_namespaces, conn);
|
||||
if (progress_callback && !progress_callback(8, 9))
|
||||
return;
|
||||
load2(m_types, conn);
|
||||
progress_callback && progress_callback(9, 9);
|
||||
}
|
||||
|
||||
void PgDatabaseCatalog::loadInfo(Pgsql::Connection &conn)
|
||||
|
|
@ -128,6 +149,7 @@ void PgDatabaseCatalog::loadInfo(Pgsql::Connection &conn)
|
|||
|
||||
void load(Pgsql::Connection &conn, IPgContainter &pg_cont)
|
||||
{
|
||||
QThread::msleep(400);
|
||||
std::string q = pg_cont.getLoadQuery();
|
||||
Pgsql::Result result = conn.query(q.c_str());
|
||||
if (result && result.resultStatus() == PGRES_TUPLES_OK)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue