Added dependants tab to table page
Retrieves all foreignkeys pointing to the current table and shows the tables they are foreignkeys of.
This commit is contained in:
parent
b90df1cd77
commit
8dd13d103e
10 changed files with 268 additions and 4 deletions
|
|
@ -1,6 +1,7 @@
|
|||
#include "PgConstraintContainer.h"
|
||||
#include "Pgsql_Col.h"
|
||||
#include <algorithm>
|
||||
#include <iterator>
|
||||
|
||||
std::string PgConstraintContainer::getLoadQuery() const
|
||||
{
|
||||
|
|
@ -56,9 +57,11 @@ std::vector<PgConstraint> PgConstraintContainer::getFKeyForTableColumn(Oid relid
|
|||
std::vector<PgConstraint> PgConstraintContainer::getConstraintsForRelation(Oid relid) const
|
||||
{
|
||||
std::vector<PgConstraint> result;
|
||||
for (const auto &e : m_container)
|
||||
if (e.relid == relid)
|
||||
result.push_back(e);
|
||||
// for (const auto &e : m_container)
|
||||
// if (e.relid == relid)
|
||||
// result.push_back(e);
|
||||
std::copy_if(m_container.begin(), m_container.end(), std::back_inserter(result),
|
||||
[relid] (auto && item) { return item.relid == relid; });
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
@ -73,3 +76,14 @@ std::optional<PgConstraint> PgConstraintContainer::getPrimaryForRelation(Oid rel
|
|||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
std::vector<PgConstraint> PgConstraintContainer::getReferencedForRelation(Oid relid) const
|
||||
{
|
||||
std::vector<PgConstraint> result;
|
||||
// for (const auto &e : m_container)
|
||||
// if (e.frelid == relid)
|
||||
// result.push_back(e);
|
||||
std::copy_if(m_container.begin(), m_container.end(), std::back_inserter(result),
|
||||
[relid] (auto && item) { return item.frelid == relid; });
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ public:
|
|||
|
||||
std::vector<PgConstraint> getConstraintsForRelation(Oid relid) const;
|
||||
std::optional<PgConstraint> getPrimaryForRelation(Oid relid) const;
|
||||
std::vector<PgConstraint> getReferencedForRelation(Oid relid) const;
|
||||
protected:
|
||||
virtual PgConstraint loadElem(const Pgsql::Row &row) override;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue