Re: Refactored code for Table and its child nodes. - Mailing list pgadmin-hackers

From Khushboo Vashi
Subject Re: Refactored code for Table and its child nodes.
Date
Msg-id CAFOhELdtY_DDEcCz+2eU3wFYQjRr9GbYTFNuw+5Wau3Hufm==A@mail.gmail.com
Whole thread Raw
In response to Refactored code for Table and its child nodes.  (Akshay Joshi <akshay.joshi@enterprisedb.com>)
Responses Re: Refactored code for Table and its child nodes.
List pgadmin-hackers
Hi Akshay,

Everything works fine on Python 3 but not working on Python 2.7.
Code refactoring looks good to me.

Thanks,
Khushboo

On Wed, Nov 13, 2019 at 7:13 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Hackers,

For a couple of days, I was working on the code refactoring of Table and it's child nodes.

Problem:  In pgAdmin4 child nodes of the table can be created/modified from table dialog as well as from individual node. For example: Primary Key constraint can be created/updated from tables as well as from individual primary key node.

After analyzing the code it seems that we have duplicate logic/functions in 'tables/utils.py' and '__init__.py' of the respective node. 

So because of the above-described problem, if there is a bug at one place we need to fix it on both the places.  

Purpose
  1. Remove duplicate logic.
  2. Child node specific logic should be inside the child node and table node gets the required information from the respective child node.
Solution:
  1. Create 'utils.py' for each child node.
  2. Move the common logic from 'tables/utils.py' and '__init__.py' of the respective node to 'utils.py'.
  3. Both table and its respective child access the functions from the respective 'utils.py'.

Note: Refactoring of columns node still remaining I'll start working on it.

Please review/test the patch thoroughly for tables and it's child nodes.

--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246

pgadmin-hackers by date:

Previous
From: Aditya Toshniwal
Date:
Subject: [pgAdmin][RM4818] Unable to handle loss of connection to server
Next
From: Aditya Toshniwal
Date:
Subject: [pgAdmin][RM4925] Missing spinner from process watcher