#ifndef PGCLASS_H #define PGCLASS_H #include "Pgsql_Value.h" #include #include enum class RelPersistence { Permanent, // p Unlogged, // u Temporary // t }; void operator<<(RelPersistence &s, const Pgsql::Value &v); enum class RelKind { Table, // r Index, // i Sequence, // S View, // v MaterializedView, // m Composite, // c Toast, // t ForeignTable // f }; void operator<<(RelKind &s, const Pgsql::Value &v); class PgClass { public: Oid oid = InvalidOid; QString name; Oid relnamespace = InvalidOid; Oid type = InvalidOid; Oid oftype = InvalidOid; Oid owner = InvalidOid; Oid am = InvalidOid; Oid filenode = InvalidOid; Oid tablespace = InvalidOid; int pages_est = 0; float tuples_est = 0.0f; Oid toastrelid = InvalidOid; bool isshared = false; RelPersistence persistence; RelKind kind; bool hasoids = false; bool ispopulated; int frozenxid; int minmxid; QString acl; QString options; bool operator==(Oid _oid) const { return oid == _oid; } bool operator==(const QString &n) const { return name == n; } bool operator<(Oid _oid) const { return oid < _oid; } bool operator<(const PgClass &rhs) const { return oid < rhs.oid; } }; #endif // PGCLASS_H