#include "PgConstraintContainer.h" #include "Pgsql_Col.h" std::string PgConstraintContainer::getLoadQuery() const { std::string q = R"__( SELECT oid, conname, connamespace, contype, condeferrable, condeferred, convalidated, conrelid, contypid, conindid, confrelid, confupdtype, confdeltype, confmatchtype, conislocal, coninhcount, connoinherit, conkey, confkey, conpfeqop, conppeqop, conffeqop, conexclop, conbin, consrc, pg_get_constraintdef(oid) FROM pg_constraint)__"; // auto cat = m_catalogue.lock(); // if (cat && cat->serverVersion() >= 90400) // q += ", indisreplident "; // q += "\nFROM pg_index"; return q; } //void operator<<(std::vector &s, const Pgsql::Value &v) //{ //} //void operator<<(std::vector &s, const Pgsql::Value &v) //{ //} PgConstraint PgConstraintContainer::loadElem(const Pgsql::Row &row) { Pgsql::Col col(row); PgConstraint v; col >> v.oid >> v.name >> v.connamespace >> v.type >> v.deferrable >> v.deferred >> v.validated >> v.relid >> v.typid >> v.indid >> v.frelid >> v.fupdtype >> v.fdeltype >> v.fmatchtype >> v.islocal >> v.inhcount >> v.noinherit; col.getAsArray(std::back_inserter(v.key)); col.getAsArray(std::back_inserter(v.fkey)); col.getAsArray(std::back_inserter(v.pfeqop)); col.getAsArray(std::back_inserter(v.ppeqop)); col.getAsArray(std::back_inserter(v.ffeqop)); col.getAsArray(std::back_inserter(v.exclop)); col >> v.bin >> v.src >> v.definition; return v; }