Thread: Review patches regarding memory leaks in pgadmin fat client

Review patches regarding memory leaks in pgadmin fat client

From
Sanket Mehta
Date:
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
Attachment

Re: Review patches regarding memory leaks in pgadmin fat client

From
Dave Page
Date:
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

Re: Review patches regarding memory leaks in pgadmin fat client

From
Sanket Mehta
Date:
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 <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

Attachment

Re: Review patches regarding memory leaks in pgadmin fat client

From
Dave Page
Date:
Akshay, did you get a chance to review this?

On Wed, Dec 24, 2014 at 2:38 PM, Sanket Mehta
<sanket.mehta@enterprisedb.com> 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
> <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 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 (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


Re: Review patches regarding memory leaks in pgadmin fat client

From
Akshay Joshi
Date:
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 <dpage@pgadmin.org> wrote:
Akshay, did you get a chance to review this?

On Wed, Dec 24, 2014 at 2:38 PM, Sanket Mehta
<sanket.mehta@enterprisedb.com> 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
> <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 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 (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



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246

Re: Review patches regarding memory leaks in pgadmin fat client

From
Akshay Joshi
Date:
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 <akshay.joshi@enterprisedb.com> 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 <dpage@pgadmin.org> wrote:
Akshay, did you get a chance to review this?

On Wed, Dec 24, 2014 at 2:38 PM, Sanket Mehta
<sanket.mehta@enterprisedb.com> 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
> <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 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 (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



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246

Re: Review patches regarding memory leaks in pgadmin fat client

From
Dave Page
Date:
Thanks Akshay - Ashesh, please commit.

On Mon, Jan 5, 2015 at 10:19 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
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 <akshay.joshi@enterprisedb.com> 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 <dpage@pgadmin.org> wrote:
Akshay, did you get a chance to review this?

On Wed, Dec 24, 2014 at 2:38 PM, Sanket Mehta
<sanket.mehta@enterprisedb.com> 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
> <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 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 (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



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246



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

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

Re: Review patches regarding memory leaks in pgadmin fat client

From
Ashesh Vashi
Date:
Sure.
I will do.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company


http://www.linkedin.com/in/asheshvashi


On Mon, Jan 5, 2015 at 3:51 PM, Dave Page <dpage@pgadmin.org> wrote:
Thanks Akshay - Ashesh, please commit.

On Mon, Jan 5, 2015 at 10:19 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
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 <akshay.joshi@enterprisedb.com> 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 <dpage@pgadmin.org> wrote:
Akshay, did you get a chance to review this?

On Wed, Dec 24, 2014 at 2:38 PM, Sanket Mehta
<sanket.mehta@enterprisedb.com> 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
> <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 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 (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



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246



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

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

Re: Review patches regarding memory leaks in pgadmin fat client

From
Ashesh Vashi
Date:
Checked-in.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company


http://www.linkedin.com/in/asheshvashi


On Mon, Jan 5, 2015 at 3:52 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
Sure.
I will do.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company


http://www.linkedin.com/in/asheshvashi


On Mon, Jan 5, 2015 at 3:51 PM, Dave Page <dpage@pgadmin.org> wrote:
Thanks Akshay - Ashesh, please commit.

On Mon, Jan 5, 2015 at 10:19 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
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 <akshay.joshi@enterprisedb.com> 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 <dpage@pgadmin.org> wrote:
Akshay, did you get a chance to review this?

On Wed, Dec 24, 2014 at 2:38 PM, Sanket Mehta
<sanket.mehta@enterprisedb.com> 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
> <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 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 (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



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246



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

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


Re: Review patches regarding memory leaks in pgadmin fat client

From
Dave Page
Date:
Thanks!

On Tue, Jan 6, 2015 at 9:23 AM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
Checked-in.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company


http://www.linkedin.com/in/asheshvashi


On Mon, Jan 5, 2015 at 3:52 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
Sure.
I will do.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company


http://www.linkedin.com/in/asheshvashi


On Mon, Jan 5, 2015 at 3:51 PM, Dave Page <dpage@pgadmin.org> wrote:
Thanks Akshay - Ashesh, please commit.

On Mon, Jan 5, 2015 at 10:19 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
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 <akshay.joshi@enterprisedb.com> 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 <dpage@pgadmin.org> wrote:
Akshay, did you get a chance to review this?

On Wed, Dec 24, 2014 at 2:38 PM, Sanket Mehta
<sanket.mehta@enterprisedb.com> 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
> <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 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 (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



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246



--
Akshay Joshi
Principal Software Engineer 


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246



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

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





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

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