Reorganize files in pglablib

The enitities and containers of the catalog now go into catalog subfolder
Models go into model
This commit is contained in:
eelke 2018-12-16 10:17:59 +01:00
parent 56cbeea183
commit f0c1035378
121 changed files with 226 additions and 183 deletions

View file

@ -1,81 +0,0 @@
#ifndef PGCONSTRAINT_H
#define PGCONSTRAINT_H
#include "PgNamespaceObject.h"
#include "Pgsql_Value.h"
#include "PgCatalogTypes.h"
#include <QString>
#include <libpq-fe.h>
#include <cstdint>
#include <vector>
enum class ConstraintType {
PrimaryKey, // p
ForeignKey, // f
Unique, // u
Check, // c
ConstraintTrigger, // t
ExclusionConstraint, // x
};
void operator<<(ConstraintType &s, const Pgsql::Value &v);
QString ShortNameForConstraintType(ConstraintType ct);
QString LongNameForConstraintType(ConstraintType ct);
enum class ForeignKeyAction {
NoAction, // a
Restrict, // r
Cascade, // c
SetNull, // n
SetDefault // d
};
void operator<<(ForeignKeyAction &s, const Pgsql::Value &v);
QString ForeignKeyActionToString(ForeignKeyAction fka);
enum class ForeignKeyMatch {
Full, // f
Partial, // p
Simple // s
};
void operator<<(ForeignKeyMatch &s, const Pgsql::Value &v);
QString ForeignKeyMatchToString(ForeignKeyMatch fkm);
class PgConstraint: public PgNamespaceObject {
public:
ConstraintType type;
bool deferrable;
bool deferred;
bool validated;
Oid relid = InvalidOid; ///< the table this constraint is on
Oid typid = InvalidOid;
Oid indid = InvalidOid; ///< index supporting the constraint
Oid frelid = InvalidOid; ///< only for FK, referenced table pg_class
ForeignKeyAction fupdtype; // on update
ForeignKeyAction fdeltype; // on delete
ForeignKeyMatch fmatchtype; // match type
bool islocal;
int32_t inhcount;
bool noinherit;
SmallAttNumVec<5> key; // list of constraint columns attnum
SmallAttNumVec<5> fkey; // fkey list of referenced columns
OidVec pfeqop;
OidVec ppeqop;
OidVec ffeqop;
OidVec exclop;
QString bin;
QString src;
QString definition;
using PgNamespaceObject::PgNamespaceObject;
};
#endif // PGCONSTRAINT_H