#ifndef PGINDEX_H #define PGINDEX_H #include "PgObject.h" #include "Pgsql_declare.h" #include #include class PgIndex : public PgObject { public: Oid indexrelid = InvalidOid; // oid of pg_class for this index Oid relid = InvalidOid; // oid of table (pg_class) where this is an index on int16_t natts = 0; bool isunique = false; bool isprimary = false; bool isexclusion = false; bool immediate = false; bool isclustered = false; bool isvalid = false; bool checkxmin = false; bool isready = false; bool islive = false; bool isreplident = false; std::vector key; std::vector collation; std::vector indclass; std::vector option; QString exprs; QString pred; QString definition; PgIndex(); explicit PgIndex(std::weak_ptr cat); QString getAm() const; bool operator==(Oid _oid) const { return indexrelid == _oid; } //bool operator==(const QString &n) const { return name == n; } bool operator<(Oid _oid) const { return indexrelid < _oid; } bool operator<(const PgIndex &rhs) const { return indexrelid < rhs.indexrelid; } }; #endif // PGINDEX_H