Re: Review patches regarding memory leaks in pgadmin fat client

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: Review patches regarding memory leaks in pgadmin fat client
Дата
Msg-id CA+OCxoyxX3kOCam2hEA1zC=BoZy8C3UpcrrOvecfmy+yAobDKw@mail.gmail.com
обсуждение исходный текст
Ответ на Review patches regarding memory leaks in pgadmin fat client  (Sanket Mehta <sanket.mehta@enterprisedb.com>)
Список pgadmin-hackers
Thanks - patch applied.

On Thu, Dec 18, 2014 at 1:32 PM, Sanket Mehta <sanket.mehta@enterprisedb.com> wrote:
Hi Akshay,

PFA the patch to resolve memory leaks in pgadmin desktop client.

Below are the files modified and scenario in which this memory leak will occur.

1. pgadmin/dlg/dlgProperty.cpp:
scenario 1:
 In table property dialog, memory leak occurs while filling the owner's combo box in properties tab as in  dlgProperty::FillComboBox() function set was not being deleted.


scenario 2:
in Database property window, memory leak occurred while filling owner's combo box in properties tab as in dlgDefaultSecurityProperty::AddUsers() function set was not being deleted.

2. pgadmin/dlg/dlgSelectDatabase.cpp:
scenario 1: 
in step dialog, while selecting database output string using selection button, memory leak occurred as in dlgSelectDatabase::Initialize() function pgSet* res was not being deleted.

scenario 2: 
in step dialog, while selecting the database output string using selection button, when trying to connect to any database, memory leak occurred as in dlgSelectDatabase::OnSelActivate() function pgSetres was not being deleted.

3. pgadmin/frm/frmEditGrid.cpp:
scenario:
While opening table data in grid view, memory leak occurred in sqlTable constructor as allColsSet was not being deleted

4.pgadmin/utils/registry.cpp:
scenario: 
while reading the registery at the start of the client, pBuf buffer was not being deleted after reading the registry value inside pgRegKey::QueryValue() function.

5.pgadmin/utils/sysSettings.cpp:
scenario:
wxFileConfig* defaultSetting was not being deleted at the time of closing pgadmin.

6.pgadmin/schema/pgTypes.cpp:
Scenario:
while expanding type node of composite type in object browser, memory leak occurred because pgSet* set was not deleted in pgType::ShowTreeDetails() function.

7.pgadmin/schema/pgTrigger.cpp:
scenario:
while expanding trigger node in object browser, memory leak occurred because pgSet* res was not deleted in pgTrigger::ReadColumnDetails() function.

8. pgadmin/schema/pgIndex.cpp:
scenario:
while expanding Index node in object browser, memory leak occurred because pgSet* res was not deleted in pgIndexBase::ReadColumnDetails() function.

9.pgadmin/schema/pgAggregate.cpp:
Scenario:
While creating new aggregate function memory leak occurred because pgSet* types was not deleted in pgAggregateFactory::CreateObjects() function.

10.pgadmin/debugger/debugger.cpp:
scenario 1:
while starting to debug a sql function in pgadmin, memory leak occurred because in debuggerFactory::startDialog() function pgSet* res was not deleted before any return statement

scenario 2:
While setting a break point in a sql function in pgadmin, memory leak occurred because in breakpointFactory::startDialog() function pgSet* res was not deleted before any return statement

11.pgadmin/schema/gpExtTable.cpp:
Scenario:
At the time of getting the sql while creating/modifying/deleting the greenplum external Table memory leak occurred in function gpExtTable::GetSql() as pgSet* extTable was not being deleted before return statement.

12.pgadmin/dd/ddmodel/ddDbReverseEngineering.cpp
Scenario 1:
While reverse engineering wizard is open, memory was occurred when moving from select table page as in function ddImportDBUtils::getTable() pgSet* inhtables was not deleted.and another memory leak was there as in functions ddImportDBUtils::getAllRelationships() and ddImportDBUtils::isModelSameDbFk()  pgSet* foreignKeys was not deleted before return statement.

Please review it and let me know if anything is missing.
I will also send further patches in case i find more memory leaks.

Regards,
Sanket Mehta
Sr Software engineer
Enterprisedb


--
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Dave Page
Дата:
Сообщение: pgAdmin III commit: Update xrcDialogs.cpp
Следующее
От: Dave Page
Дата:
Сообщение: pgAdmin III commit: Correct version number.