mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-08-24 14:22:42 -06:00
Autocomplite, server status, publications
Добавлен контроль прав доступа на select для таблиц и представления при ипользовании автодополнения. Добавлен контроль доступа при пролучении информации о подписках. Добалена совместимость с более ранними версиями при получении информации о публикациях. При получении логов в окне "Статус сервера" добавлена проверка наличия прав на используемые функции при получении файлы логов. Мелкие правки при работе с автодополнениями в окне запросов.
This commit is contained in:
parent
f43f341ffd
commit
a77fcfcd5a
6 changed files with 207 additions and 111 deletions
|
|
@ -144,46 +144,49 @@ pgObject *pgSubscriptionFactory::CreateObjects(pgCollection *collection, ctlTree
|
|||
{
|
||||
wxString sql;
|
||||
pgSubscription *subscription = 0;
|
||||
bool superu=collection->GetDatabase()->GetConnection()->IsSuperuser();
|
||||
//bool superu=collection->GetDatabase()->GetConnection()->IsSuperuser();
|
||||
bool superu = collection->GetServer()->GetSuperUser();
|
||||
//wxString dbname=collection->GetDatabase()->GetConnection()->GetDbOid;
|
||||
OID db=collection->GetDatabase()->GetConnection()->GetDbOid();
|
||||
sql = wxT("select oid,subname,pg_get_userbyid(subowner) AS \"owner\",subenabled,subconninfo,subslotname,subsynccommit,subpublications,obj_description(oid,'pg_subscription') as comment from pg_subscription where subdbid=")
|
||||
+NumToStr(db)+ wxT("\n")
|
||||
+ restriction + wxT("\n");
|
||||
pgSet *subscriptions = collection->GetDatabase()->ExecuteSet(sql);
|
||||
if (superu) {
|
||||
pgSet* subscriptions = collection->GetDatabase()->ExecuteSet(sql);
|
||||
|
||||
if (subscriptions)
|
||||
{
|
||||
while (!subscriptions->Eof())
|
||||
if (subscriptions)
|
||||
{
|
||||
wxString tmp;
|
||||
tmp = subscriptions->GetVal(wxT("subpublications"));
|
||||
tmp.Replace(wxT("{"), wxT(""));
|
||||
tmp.Replace(wxT("}"), wxT(""));
|
||||
|
||||
subscription = new pgSubscription(subscriptions->GetVal(wxT("subname")));
|
||||
subscription->iSetDatabase(collection->GetDatabase());
|
||||
subscription->iSetOid(subscriptions->GetOid(wxT("oid")));
|
||||
subscription->iSetOwner(subscriptions->GetVal(wxT("owner")));
|
||||
subscription->iSetPubStr(tmp);
|
||||
subscription->iSetConnInfo(subscriptions->GetVal(wxT("subconninfo")));
|
||||
subscription->iSetSlotName(subscriptions->GetVal(wxT("subslotname")));
|
||||
//subscription->iSetName(subscriptions->GetVal(wxT("subname"));
|
||||
subscription->iSetIsEnabled(subscriptions->GetBool(wxT("subenabled")));
|
||||
subscription->iSetIsSyncCommit(subscriptions->GetVal(wxT("subsynccommit")));
|
||||
subscription->iSetComment(subscriptions->GetVal(wxT("comment")));
|
||||
|
||||
if (browser)
|
||||
while (!subscriptions->Eof())
|
||||
{
|
||||
browser->AppendObject(collection, subscription);
|
||||
wxString tmp;
|
||||
tmp = subscriptions->GetVal(wxT("subpublications"));
|
||||
tmp.Replace(wxT("{"), wxT(""));
|
||||
tmp.Replace(wxT("}"), wxT(""));
|
||||
|
||||
subscriptions->MoveNext();
|
||||
subscription = new pgSubscription(subscriptions->GetVal(wxT("subname")));
|
||||
subscription->iSetDatabase(collection->GetDatabase());
|
||||
subscription->iSetOid(subscriptions->GetOid(wxT("oid")));
|
||||
subscription->iSetOwner(subscriptions->GetVal(wxT("owner")));
|
||||
subscription->iSetPubStr(tmp);
|
||||
subscription->iSetConnInfo(subscriptions->GetVal(wxT("subconninfo")));
|
||||
subscription->iSetSlotName(subscriptions->GetVal(wxT("subslotname")));
|
||||
//subscription->iSetName(subscriptions->GetVal(wxT("subname"));
|
||||
subscription->iSetIsEnabled(subscriptions->GetBool(wxT("subenabled")));
|
||||
subscription->iSetIsSyncCommit(subscriptions->GetVal(wxT("subsynccommit")));
|
||||
subscription->iSetComment(subscriptions->GetVal(wxT("comment")));
|
||||
|
||||
if (browser)
|
||||
{
|
||||
browser->AppendObject(collection, subscription);
|
||||
|
||||
subscriptions->MoveNext();
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
delete subscriptions;
|
||||
delete subscriptions;
|
||||
}
|
||||
}
|
||||
return subscription;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue