Overview of triggers extended with function name and arguments.
Did a lot of refactoring on the catalog to keep things clean.
This commit is contained in:
parent
35813ae926
commit
fcb191f2cc
44 changed files with 797 additions and 404 deletions
|
|
@ -1,48 +1,52 @@
|
|||
#ifndef PGPROC_H
|
||||
#define PGPROC_H
|
||||
|
||||
#include "PgSchemaObject.h"
|
||||
#include <QString>
|
||||
#include <libpq-fe.h>
|
||||
#include "Pgsql_Value.h"
|
||||
|
||||
class PgProc {
|
||||
class PgProc: public PgSchemaObject {
|
||||
public:
|
||||
using PgSchemaObject::PgSchemaObject;
|
||||
|
||||
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
|
||||
QString name; // name
|
||||
// Oid pronamespace = InvalidOid; // oid, namespace
|
||||
Oid owner = InvalidOid; // oid
|
||||
Oid lang = InvalidOid; // oid
|
||||
float cost = 0.f; // float4
|
||||
float rows = 0.f; // float4
|
||||
Oid variadic = InvalidOid; // oid
|
||||
QString transform; // regproc
|
||||
bool isagg = false; // bool
|
||||
bool iswindow = false; // bool
|
||||
bool secdef = false; // bool
|
||||
bool leakproof = false; // bool
|
||||
bool isstrict = false; // bool
|
||||
bool retset = 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<Oid> proargtypes; // oid[]
|
||||
std::vector<Oid> proallargtypes; // oid[]
|
||||
std::vector<char> proargmodes; // char[]
|
||||
std::vector<QString> proargnames; // text[]
|
||||
std::optional<QString> proargdefaults; // pg_node_tree
|
||||
std::vector<Oid> protrftypes; // oid[], version >= 9.5
|
||||
QString prosrc; // text
|
||||
QString probin; // text
|
||||
std::vector<QString> proconfig; // text[]
|
||||
std::vector<QString> proacl; // aclitem[]
|
||||
char parallel = '\0'; // char, version >= 9.6
|
||||
int16_t nargs = 0; // int2
|
||||
int16_t nargdefaults = 0; // int2
|
||||
Oid rettype = InvalidOid; // oid
|
||||
std::vector<Oid> argtypes; // oid[]
|
||||
std::vector<Oid> allargtypes; // oid[]
|
||||
std::vector<char> argmodes; // char[]
|
||||
std::vector<QString> argnames; // text[]
|
||||
std::optional<QString> argdefaults; // pg_node_tree
|
||||
std::vector<Oid> trftypes; // oid[], version >= 9.5
|
||||
QString src; // text
|
||||
QString bin; // text
|
||||
std::vector<QString> config; // text[]
|
||||
std::vector<QString> acl; // aclitem[]
|
||||
|
||||
bool operator==(Oid _oid) const { return oid == _oid; }
|
||||
bool operator==(const QString &n) const { return proname == n; }
|
||||
bool operator==(const QString &n) const { return name == n; }
|
||||
bool operator<(Oid _oid) const { return oid < _oid; }
|
||||
bool operator<(const PgProc &rhs) const { return oid < rhs.oid; }
|
||||
|
||||
virtual QString objectName() const override;
|
||||
};
|
||||
|
||||
#endif // PGPROC_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue