pgLab/pglablib/PgNamespaceObject.h
eelke 73c4cf4790 Rework of catalog objects. Several of them are now inheriting from common
base classes that implement common functionality.
2018-11-25 19:45:06 +01:00

28 lines
692 B
C++

#ifndef PGSCHEMAOBJECT_H
#define PGSCHEMAOBJECT_H
#include <QString>
#include "PgDatabaseObject.h"
#include <libpq-fe.h>
class PgNamespace;
/// Base class for database objects that are part of a specific schema
class PgNamespaceObject: public PgDatabaseObject {
public:
PgNamespaceObject(PgDatabaseCatalog& cat, Oid oid, const QString &name, Oid schema_oid);
Oid nsOid() const;
// void setSchemaOid(Oid oid);
QString nsName() const;
QString quotedNsName() const;
/// Returns the schema name and object name with proper quotes
QString fullyQualifiedQuotedObjectName() const;
const PgNamespace& ns() const;
private:
Oid m_schemaOid = InvalidOid;
};
#endif // PGSCHEMAOBJECT_H