PgAttribute loading + ColummnTableModel

Required enchancement to PgContainer to make multifield key work.
This commit is contained in:
eelke 2017-12-12 20:13:53 +01:00
parent f9caadb59e
commit e9d72d391d
32 changed files with 698 additions and 99 deletions

View file

@ -12,9 +12,11 @@ namespace Pgsql {
}
class PgAttributeContainer;
class PgAuthIdContainer;
class PgClassContainer;
class PgDatabaseContainer;
class PgNamespaceContainer;
class PgTypeContainer;
class PgDatabaseCatalog: public std::enable_shared_from_this<PgDatabaseCatalog> {
@ -27,32 +29,41 @@ public:
void loadAll(Pgsql::Connection &conn);
void loadInfo(Pgsql::Connection &conn);
void loadTypes(Pgsql::Connection &conn);
void loadDatabases(Pgsql::Connection &conn);
void loadAttributes(Pgsql::Connection &conn);
void loadAuthIds(Pgsql::Connection &conn);
void loadClasses(Pgsql::Connection &conn);
void loadDatabases(Pgsql::Connection &conn);
void loadInfo(Pgsql::Connection &conn);
void loadNamespaces(Pgsql::Connection &conn);
void loadTypes(Pgsql::Connection &conn);
const QString& serverVersionString() const;
int serverVersion() const;
std::shared_ptr<const PgTypeContainer> types() const;
std::shared_ptr<const PgDatabaseContainer> databases() const;
std::shared_ptr<const PgAttributeContainer> attributes() const;
std::shared_ptr<const PgAuthIdContainer> authIds() const;
std::shared_ptr<const PgClassContainer> classes() const;
std::shared_ptr<const PgDatabaseContainer> databases() const;
std::shared_ptr<const PgNamespaceContainer> namespaces() const;
std::shared_ptr<const PgTypeContainer> types() const;
private:
QString m_serverVersionString;
int m_serverVersion;
std::shared_ptr<PgTypeContainer> m_types;
std::shared_ptr<PgDatabaseContainer> m_databases;
std::shared_ptr<PgAttributeContainer> m_attributes;
std::shared_ptr<PgAuthIdContainer> m_authIds;
std::shared_ptr<PgClassContainer> m_classes;
std::shared_ptr<PgDatabaseContainer> m_databases;
std::shared_ptr<PgNamespaceContainer> m_namespaces;
std::shared_ptr<PgTypeContainer> m_types;
};
QString getRoleNameFromOid(const PgDatabaseCatalog &cat, Oid oid);
QString getRoleDisplayString(const PgDatabaseCatalog &cat, Oid oid);
QString getNamespaceDisplayString(const PgDatabaseCatalog &cat, Oid oid);
QString getTablespaceDisplayString(const PgDatabaseCatalog &cat, Oid oid);
QString getTypeDisplayString(const PgDatabaseCatalog &cat, Oid oid);
#endif // PGSQLDATABASECATALOGUE_H