Refactored code for Table and its child nodes.
Akshay Joshi <[email protected]> Wed, 13 Nov 2019 19:13:24 +0530
| Newsgroups | gmane.comp.db.postgresql.pgadmin.devel |
|---|---|
| Message-ID | <CANxoLDeV+R-vq6c+ewSWwaa1mQ=OQru0+TJOFdX0ZYO655DMcg@mail.gmail.com> |
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*
Table_Refactor.patch
(application/octet-stream, 186.6 KB) - not displayed