Refactored code for Table and its child nodes.

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Refactored code for Table and its child nodes.
Date: 2019-11-13 13:43:24
Message-ID: CANxoLDeV+R-vq6c+ewSWwaa1mQ=OQru0+TJOFdX0ZYO655DMcg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

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*

Attachment Content-Type Size
Table_Refactor.patch application/octet-stream 186.6 KB

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Aditya Toshniwal 2019-11-14 06:44:55 [pgAdmin][RM4818] Unable to handle loss of connection to server
Previous Message Nagesh Dhope 2019-11-13 11:30:28 [pgAdmin][RM4930] [Accessibility] Main window tan navigation