2017-12-09 20:21:22 +01:00
|
|
|
|
#include "PgAuthIdContainer.h"
|
2018-11-18 19:30:45 +01:00
|
|
|
|
#include "Pgsql_Col.h"
|
2017-02-18 12:05:48 +01:00
|
|
|
|
|
|
|
|
|
|
std::string PgAuthIdContainer::getLoadQuery() const
|
|
|
|
|
|
{
|
|
|
|
|
|
std::string result =
|
|
|
|
|
|
"SELECT oid, rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, "
|
|
|
|
|
|
" rolcanlogin, rolreplication, rolconnlimit, rolvaliduntil";
|
2018-11-18 19:30:45 +01:00
|
|
|
|
if (minimumVersion(90500))
|
2017-02-18 12:05:48 +01:00
|
|
|
|
result += ", rolbypassrls";
|
2017-12-09 20:21:22 +01:00
|
|
|
|
|
2017-02-18 12:05:48 +01:00
|
|
|
|
result += "\n"
|
2019-08-10 14:18:01 +02:00
|
|
|
|
"FROM pg_roles";
|
2017-02-18 12:05:48 +01:00
|
|
|
|
return result;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2018-11-18 19:30:45 +01:00
|
|
|
|
PgAuthId PgAuthIdContainer::loadElem(const Pgsql::Row &row)
|
2017-02-18 12:05:48 +01:00
|
|
|
|
{
|
2018-11-18 19:30:45 +01:00
|
|
|
|
Pgsql::Col col(row);
|
2018-12-25 16:39:58 +01:00
|
|
|
|
Oid oid = col.nextValue();
|
|
|
|
|
|
QString name = col.nextValue();
|
|
|
|
|
|
PgAuthId v(m_catalog, oid, name);
|
|
|
|
|
|
col >> v.super >> v.inherit >> v.createRole >> v.createDB
|
2018-11-18 19:30:45 +01:00
|
|
|
|
>> v.canlogin >> v.replication >> v.connLimit >> v.validUntil;
|
|
|
|
|
|
if (minimumVersion(90500))
|
|
|
|
|
|
col >> v.bypassRls;
|
2017-02-18 12:05:48 +01:00
|
|
|
|
|
2018-11-18 19:30:45 +01:00
|
|
|
|
return v;
|
|
|
|
|
|
}
|