48 lines
1.2 KiB
C++
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
|