WIP: Added page showing list of functions.

Only list is shown, still working on details.
This commit is contained in:
eelke 2018-11-25 09:06:01 +01:00
parent 7db859737a
commit 840af1e0a9
19 changed files with 635 additions and 92 deletions

View file

@ -28,17 +28,22 @@ PgProc PgProcContainer::loadElem(const Pgsql::Row &row)
Pgsql::Col col(row);
PgProc v(m_catalog);
Oid namespace_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
col >> v.oid >> v.name >> namespace_oid >> v.owner >> v.lang >> v.cost >> v.rows
>> v.variadic >> v.transform >> v.isagg >> v.iswindow >> v.secdef >> v.leakproof
>> v.isstrict >> v.retset >> v.provolatile >> v.nargs >> v.nargdefaults
>> v.rettype;
col.getAsVector<Oid>(std::back_inserter(v.argtypes));
col >> v.allargtypes >> v.argmodes >> v.argnames
>> v.argdefaults;
col >> v.src;
col >> v.bin >> v.config >> v.acl;
col.getAsVector<Oid>(std::back_inserter(argtypes));
col >> allargtypes >> argmodes >> argnames >> argdefaults
>> v.src >> v.bin >> v.config >> v.acl;
v.setSchemaOid(namespace_oid);
v.setArgs(argtypes, allargtypes, argmodes, argnames, argdefaults);
if (minimumVersion(90500)) {
col >> v.trftypes;