#ifndef PGPROC_H #define PGPROC_H #include #include #include "Pgsql_Value.h" class PgProc { public: Oid oid = InvalidOid; // oid QString proname; // name Oid pronamespace = InvalidOid; // oid Oid proowner = InvalidOid; // oid Oid prolang = InvalidOid; // oid float procost = 0.f; // float4 float prorows = 0.f; // float4 Oid provariadic = InvalidOid; // oid QString protransform; // regproc bool proisagg = false; // bool bool proiswindow = false; // bool bool prosecdef = false; // bool bool proleakproof = false; // bool bool proisstrict = false; // bool bool proretset = false; // bool char provolatile = '\0'; // char char proparallel = '\0'; // char, version >= 9.6 int16_t pronargs = 0; // int2 int16_t pronargdefaults = 0; // int2 Oid prorettype = InvalidOid; // oid std::vector proargtypes; // oid[] std::vector proallargtypes; // oid[] std::vector proargmodes; // char[] std::vector proargnames; // text[] std::optional proargdefaults; // pg_node_tree std::vector protrftypes; // oid[], version >= 9.5 QString prosrc; // text QString probin; // text std::vector proconfig; // text[] std::vector proacl; // aclitem[] bool operator==(Oid _oid) const { return oid == _oid; } bool operator==(const QString &n) const { return proname == n; } bool operator<(Oid _oid) const { return oid < _oid; } bool operator<(const PgProc &rhs) const { return oid < rhs.oid; } }; #endif // PGPROC_H