43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
#ifndef PGINDEX_H
|
|
#define PGINDEX_H
|
|
|
|
#include "PgSchemaObject.h"
|
|
#include "Pgsql_declare.h"
|
|
#include <QString>
|
|
#include <vector>
|
|
|
|
class PgIndex : public PgSchemaObject {
|
|
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;
|
|
|
|
using PgSchemaObject::PgSchemaObject;
|
|
QString getAm() const;
|
|
virtual QString objectName() const override;
|
|
|
|
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
|