Convert name of array types to elem typoe followed by []
This commit is contained in:
parent
7fb4e1ddb9
commit
b8505ce451
3 changed files with 54 additions and 45 deletions
|
|
@ -56,7 +56,16 @@ QString getTypeDisplayString(const PgDatabaseCatalog &cat, Oid oid)
|
||||||
{
|
{
|
||||||
auto tc = cat.types();
|
auto tc = cat.types();
|
||||||
auto t = tc->getByKey(oid);
|
auto t = tc->getByKey(oid);
|
||||||
return t.name;
|
QString s;
|
||||||
|
if (t.category == TypCategory::Array) {
|
||||||
|
auto et = tc->getByKey(t.elem);
|
||||||
|
s = et.name;
|
||||||
|
s += "[]";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
s = t.name;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,29 +38,29 @@ public:
|
||||||
bool byval = false;//"boolean";"NO"
|
bool byval = false;//"boolean";"NO"
|
||||||
QString type;//""char"";"NO"
|
QString type;//""char"";"NO"
|
||||||
TypCategory category;//""char"";"NO"
|
TypCategory category;//""char"";"NO"
|
||||||
bool typispreferred = false;//"boolean";"NO"
|
bool ispreferred = false;//"boolean";"NO"
|
||||||
bool typisdefined = false;//"boolean";"NO"
|
bool isdefined = false;//"boolean";"NO"
|
||||||
QString typdelim;//""char"";"NO"
|
QString delim;//""char"";"NO"
|
||||||
Oid typrelid = InvalidOid;//"oid";"NO"
|
Oid relid = InvalidOid;//"oid";"NO"
|
||||||
Oid typelem = InvalidOid;//"oid";"NO"
|
Oid elem = InvalidOid;//"oid";"NO"
|
||||||
Oid typarray = InvalidOid;//"oid";"NO"
|
Oid array = InvalidOid;//"oid";"NO"
|
||||||
QString typinput;//regproc";"NO"
|
QString input;//regproc";"NO"
|
||||||
QString typoutput;//"regproc";"NO"
|
QString output;//"regproc";"NO"
|
||||||
QString typreceive;//"regproc";"NO"
|
QString receive;//"regproc";"NO"
|
||||||
QString typsend;//"regproc";"NO"
|
QString send;//"regproc";"NO"
|
||||||
QString typmodin;//"regproc";"NO"
|
QString modin;//"regproc";"NO"
|
||||||
QString typmodout;//"regproc";"NO"
|
QString modout;//"regproc";"NO"
|
||||||
QString typanalyze;//"regproc";"NO"
|
QString analyze;//"regproc";"NO"
|
||||||
QString typalign;//""char"";"NO"
|
QString align;//""char"";"NO"
|
||||||
QString typstorage;//""char"";"NO"
|
QString storage;//""char"";"NO"
|
||||||
bool typnotnull = false;//"boolean";"NO"
|
bool notnull = false;//"boolean";"NO"
|
||||||
Oid typbasetype = InvalidOid;//"oid";"NO"
|
Oid basetype = InvalidOid;//"oid";"NO"
|
||||||
int typtypmod = -1;//"integer";"NO"
|
int typmod = -1;//"integer";"NO"
|
||||||
int typndims = 0;//"integer";"NO"
|
int ndims = 0;//"integer";"NO"
|
||||||
Oid typcollation = InvalidOid;//"oid";"NO"
|
Oid collation = InvalidOid;//"oid";"NO"
|
||||||
QString typdefaultbin;//"pg_node_tree";"YES"
|
QString defaultbin;//"pg_node_tree";"YES"
|
||||||
QString typdefault;//"text";"YES"
|
QString typdefault;//"text";"YES"
|
||||||
QString typacl;//"ARRAY";"YES"
|
QString acl;//"ARRAY";"YES"
|
||||||
|
|
||||||
bool operator==(Oid _oid) const { return oid == _oid; }
|
bool operator==(Oid _oid) const { return oid == _oid; }
|
||||||
bool operator==(const QString &n) const { return name == n; }
|
bool operator==(const QString &n) const { return name == n; }
|
||||||
|
|
|
||||||
|
|
@ -51,29 +51,29 @@ void PgTypeContainer::load(const Pgsql::Result &res)
|
||||||
v.byval << row.get(5); // false;//"boolean";"NO"
|
v.byval << row.get(5); // false;//"boolean";"NO"
|
||||||
v.type << row.get(6);//""char"";"NO"
|
v.type << row.get(6);//""char"";"NO"
|
||||||
v.category << row.get(7);//""char"";"NO"
|
v.category << row.get(7);//""char"";"NO"
|
||||||
v.typispreferred << row.get(8); //false;//"boolean";"NO"
|
v.ispreferred << row.get(8); //false;//"boolean";"NO"
|
||||||
v.typisdefined << row.get(9); //false;//"boolean";"NO"
|
v.isdefined << row.get(9); //false;//"boolean";"NO"
|
||||||
v.typdelim << row.get(10); //""char"";"NO"
|
v.delim << row.get(10); //""char"";"NO"
|
||||||
v.typrelid << row.get(11); // InvalidOid;//"oid";"NO"
|
v.relid << row.get(11); // InvalidOid;//"oid";"NO"
|
||||||
v.typelem << row.get(12); // InvalidOid;//"oid";"NO"
|
v.elem << row.get(12); // InvalidOid;//"oid";"NO"
|
||||||
v.typarray << row.get(13); // InvalidOid;//"oid";"NO"
|
v.array << row.get(13); // InvalidOid;//"oid";"NO"
|
||||||
v.typinput << row.get(14);//regproc";"NO"
|
v.input << row.get(14);//regproc";"NO"
|
||||||
v.typoutput << row.get(15);//"regproc";"NO"
|
v.output << row.get(15);//"regproc";"NO"
|
||||||
v.typreceive << row.get(16);//"regproc";"NO"
|
v.receive << row.get(16);//"regproc";"NO"
|
||||||
v.typsend << row.get(17);//"regproc";"NO"
|
v.send << row.get(17);//"regproc";"NO"
|
||||||
v.typmodin << row.get(18);//"regproc";"NO"
|
v.modin << row.get(18);//"regproc";"NO"
|
||||||
v.typmodout << row.get(19);//"regproc";"NO"
|
v.modout << row.get(19);//"regproc";"NO"
|
||||||
v.typanalyze << row.get(20);//"regproc";"NO"
|
v.analyze << row.get(20);//"regproc";"NO"
|
||||||
v.typalign << row.get(21); // //""char"";"NO"
|
v.align << row.get(21); // //""char"";"NO"
|
||||||
v.typstorage << row.get(22); //""char"";"NO"
|
v.storage << row.get(22); //""char"";"NO"
|
||||||
v.typnotnull << row.get(23); //"boolean";"NO"
|
v.notnull << row.get(23); //"boolean";"NO"
|
||||||
v.typbasetype << row.get(24); //"oid";"NO"
|
v.basetype << row.get(24); //"oid";"NO"
|
||||||
v.typtypmod << row.get(25); //-1;//"integer";"NO"
|
v.typmod << row.get(25); //-1;//"integer";"NO"
|
||||||
v.typndims << row.get(26); //"integer";"NO"
|
v.ndims << row.get(26); //"integer";"NO"
|
||||||
v.typcollation << row.get(27); //InvalidOid;//"oid";"NO"
|
v.collation << row.get(27); //InvalidOid;//"oid";"NO"
|
||||||
v.typdefaultbin << row.get(28);//"pg_node_tree";"YES"
|
v.defaultbin << row.get(28);//"pg_node_tree";"YES"
|
||||||
v.typdefault << row.get(29);//"text";"YES"
|
v.typdefault << row.get(29);//"text";"YES"
|
||||||
v.typacl << row.get(30);//"ARRAY";"YES"
|
v.acl << row.get(30);//"ARRAY";"YES"
|
||||||
m_container.push_back(v);
|
m_container.push_back(v);
|
||||||
}
|
}
|
||||||
std::sort(m_container.begin(), m_container.end());
|
std::sort(m_container.begin(), m_container.end());
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue