pgLab/pglablib/catalog/PgIndex.h
eelke 11459e1e12 Show sizes
table, index, toast and total size per Table
size of each index
2021-03-10 19:06:40 +01:00

48 lines
1.2 KiB
C++

#ifndef PGINDEX_H
#define PGINDEX_H
#include "PgNamespaceObject.h"
#include "Pgsql_declare.h"
#include <QString>
#include <vector>
class PgIndex : public PgNamespaceObject {
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<int16_t> key;
std::vector<Oid> collation;
std::vector<Oid> indclass;
std::vector<int16_t> option;
QString exprs;
QString pred;
QString definition;
int64_t sizeBytes;
using PgNamespaceObject::PgNamespaceObject;
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; }
QString createSql() const;
QString dropSql() const;
QString typeName() const override;
};
#endif // PGINDEX_H