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

From Akshay Joshi
Subject Refactored code for Table and its child nodes.
Date
Msg-id CANxoLDeV+R-vq6c+ewSWwaa1mQ=OQru0+TJOFdX0ZYO655DMcg@mail.gmail.com
Whole thread Raw
Responses Re: Refactored code for Table and its child nodes.
List 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

pgadmin-hackers by date:

Previous
From: Nagesh Dhope
Date:
Subject: [pgAdmin][RM4930] [Accessibility] Main window tan navigation
Next
From: Aditya Toshniwal
Date:
Subject: [pgAdmin][RM4818] Unable to handle loss of connection to server