Hi Sanket Patch looks good to me. Please remove the comment "//GQB-TODO: delete restrictions" from gqbModel.cpp as you have already deleted the restrictions object.
On Mon, Jan 5, 2015 at 3:29 PM, Akshay Joshi <[email protected]> wrote: > Sorry Dave, > > I think I missed this email, I have reviewed the first patch. Will do it > right now. > > On Mon, Jan 5, 2015 at 3:19 PM, Dave Page <[email protected]> wrote: > >> Akshay, did you get a chance to review this? >> >> On Wed, Dec 24, 2014 at 2:38 PM, Sanket Mehta >> <[email protected]> wrote: >> > Hi Akshay, >> > >> > PFA the patch for memory leaks found in pgadmin desktop client. >> > >> > Below are the files modified and scenario in which this memory leak will >> > occur. >> > >> > 1.pgadmin/frm/frmQuery.cpp: >> > 2.pgadmin/gqb/gqbModel.cpp: >> > 3.pgadmin/gqb/gqbView.cpp >> > Scenario: >> > After closing the graphic query builder dialog, memory leak occurred. >> > >> > 4.pgadmin/ogl/canvas.cpp: >> > Scenario: >> > >> > This memory leak was found in OGL module as m_shapeDiagram was not being >> > deleted in destructor of canvas class. >> > >> > Please review this patch and let me know in case anything is missing. >> > >> > >> > Regards, >> > Sanket Mehta >> > Sr Software engineer >> > Enterprisedb >> > >> > On Thu, Dec 18, 2014 at 7:02 PM, Sanket Mehta >> > <[email protected]> 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 pgSet* res 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 ([email protected]) >> > 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 >> > > > > -- > *Akshay Joshi* > *Principal Software Engineer * > > > > *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* > -- *Akshay Joshi* *Principal Software Engineer * *Phone: +91 20-3058-9517Mobile: +91 976-788-8246*
