Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l42gD-00042i-FI for pgadmin-hackers@arkaria.postgresql.org; Mon, 25 Jan 2021 14:17:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l42gC-00078P-Cz for pgadmin-hackers@arkaria.postgresql.org; Mon, 25 Jan 2021 14:17:20 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l42gC-00078I-2l for pgadmin-hackers@lists.postgresql.org; Mon, 25 Jan 2021 14:17:20 +0000 Received: from mail-io1-xd2e.google.com ([2607:f8b0:4864:20::d2e]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1l42g8-0000u7-OS for pgadmin-hackers@postgresql.org; Mon, 25 Jan 2021 14:17:19 +0000 Received: by mail-io1-xd2e.google.com with SMTP id p72so26700508iod.12 for ; Mon, 25 Jan 2021 06:17:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=HO9keKQU/alu90Qh0QtznTvef0/xnX3NWQvvBlZt9Wk=; b=sKuh6TxWmql2B+RVDyEc2FhicxoXw0hRT3XM7whdBPxQ9Bpzh46VpwnU0MqOC2lPHd IFzkXHiRbeLnz9fNYMK+H/DRmq/rqf/8MyLi8NUtDGQhz+tQ+QnRshEjJ5dWuRx1C4jP O9DbkzuZ02MlbGHDCqSuWi0+P0LjTSHKFcXSVaDZ4sPmLAGF60bPsW9iqRN/C8Q1BjHf mkVhXJbBtDulOSvb/1Sc3q58GNS+W9Korut0TLuvKjxjZsDkzz0DgEjoHnnZ3x0vWKSr 1HgsR2Aamf2x2mPQ9g2MKL2y4Q9ezKui0oM26BGfwlRyrXsQ09k2u2thziDmN4oaBhnf FlQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=HO9keKQU/alu90Qh0QtznTvef0/xnX3NWQvvBlZt9Wk=; b=GjlPA816O0+ZChsHfSLdePNh19YhujcHEUQH6TG3gsjaWz9ZJeeQBOujiw+As2CXTk DyRj349kdJc8mjelBaQFO19OYawMxzrTwuCRUSFajJfxiXHJwniouHOX+AQld5B8jR1U prngh4uWaSh+GtOktTfuZliQpJYqgyya21WA/DHeYtpYhonzEqMg400eJaOPNUZVMW+a DIfmLlOVd2Qm9upgIQ+jTSZleHf752JwZF2GVQGV+BTgbY3hOJoXBr9MxjhLe3XEXQxu PqCGbSpFaXOYkCrLQqgJ3tte/OxSsWvO0R2cLHfUaR2BgiBEtmWIY4oEbdnVAP36dgwL Glcw== X-Gm-Message-State: AOAM531D+tVXee2Tjn4RN59uW9AoWVsjuWY1x5PTyraTMS9JvV3AFKfg jAl7Kdcm9rpq4kvu2lUINof+6uznTFKfI4xAQrl6QHoFA3g4i3WVNnpbK2DC/8yISQi3N5Cuaxd Pl2ZyoUf8py2zXEvi5ylOORPot7+YupGItNKImSTilT/+iHNrhrbhP8BdMBIPrqw6+dZ2jFk6Am p913PmXitXxc92yNE7wse+zkAXCw7n277fx1peyaHKuoYM7mNDdyxNad9nNw== X-Google-Smtp-Source: ABdhPJyk83sRUhIVUyFn2bS5u9HA7A6CeOF8bgAJPhWS2w23/w7Oa+vT6w2yc5xtzNjO6uQcphaVRDcgFzPxg/ltr2o= X-Received: by 2002:a6b:c981:: with SMTP id z123mr572022iof.206.1611584234929; Mon, 25 Jan 2021 06:17:14 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Akshay Joshi Date: Mon, 25 Jan 2021 19:47:03 +0530 Message-ID: Subject: Re: [pgAdmin][RM1802] ERD Tool (Beta) To: Aditya Toshniwal Cc: pgadmin-hackers , Khushboo Vashi , Dave Page Content-Type: multipart/alternative; boundary="000000000000d9589405b9ba3143" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000d9589405b9ba3143 Content-Type: text/plain; charset="UTF-8" Thanks, patch applied. On Mon, Jan 25, 2021 at 7:39 PM Aditya Toshniwal < aditya.toshniwal@enterprisedb.com> wrote: > Hi, > > The attached patch fixes an issue created by existing table name check. > Please review. > > On Mon, Jan 25, 2021 at 5:34 PM Akshay Joshi < > akshay.joshi@enterprisedb.com> wrote: > >> Thanks, patch applied. >> >> On Mon, Jan 25, 2021 at 5:18 PM Aditya Toshniwal < >> aditya.toshniwal@enterprisedb.com> wrote: >> >>> Hi, >>> >>> Please find the rebased patch from the latest pull. >>> >>> On Mon, Jan 25, 2021 at 5:12 PM Aditya Toshniwal < >>> aditya.toshniwal@enterprisedb.com> wrote: >>> >>>> Hi Hackers, >>>> >>>> Attached is the patch to fix below issues in ERD: >>>> >>>> 1. After opening an existing project, the first table is already >>>> selected but edit, clone, delete buttons are disable. Fixed. >>>> 2. ERD project title gets changed when 2 ERD projects are open & >>>> anyone of it edited. Fixed. >>>> 3. Closing ERD tab, does not ask for confirmation pop up. Added. >>>> 4. Shortcut for 'Show more/Fewer details' is missing. Added. >>>> 5. Deleting primary key does not delete associated links. Fixed. >>>> 6. Long table & schema name are getting out of box. Fixed. >>>> 7. Long table name in notes pop-up need re-alignment. Fixed. >>>> 8. Same table name present in ERD/canvas is allowed in Add Table >>>> dialogue. Added validation in the dialog. >>>> 9. Download image option is added, but it is not perfect yet. Image >>>> icons (table, schema, etc.) are not showing up. >>>> 10. Rename panel option should be disabled by default. It should be >>>> enabled for the tools which implement rename functionality. >>>> 11. The Toolbar is not visible in Safari for the ERD tool. Fixed. >>>> >>>> Please review. >>>> >>>> On Thu, Jan 21, 2021 at 4:32 PM Aditya Toshniwal < >>>> aditya.toshniwal@enterprisedb.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> >>>>> On Thu, Jan 21, 2021 at 3:08 PM Dave Page wrote: >>>>> >>>>>> >>>>>> >>>>>> On Thu, Jan 21, 2021 at 4:48 AM Aditya Toshniwal < >>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>> >>>>>>> Hi Dave, >>>>>>> >>>>>>> On Wed, Jan 20, 2021 at 9:20 PM Dave Page wrote: >>>>>>> >>>>>>>> Hi >>>>>>>> >>>>>>>> Where's the Save Image button gone? I know Aditya was removing it >>>>>>>> whilst working on other things, but it's still required for phase 1 release. >>>>>>>> >>>>>>> It was not working 100% right. :( >>>>>>> So I've removed it for the time being. I'm still working on it. >>>>>>> >>>>>> >>>>>> OK, so that work will be completed in time for the build next week? >>>>>> >>>>> I'm trying my best to make it available before release. I'm struggling >>>>> to make it work perfectly. >>>>> >>>>>> >>>>>> >>>>>>> >>>>>>>> On Mon, Jan 18, 2021 at 11:45 AM Akshay Joshi < >>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>> >>>>>>>>> Thanks, patch applied. >>>>>>>>> >>>>>>>>> On Mon, Jan 18, 2021 at 5:08 PM Aditya Toshniwal < >>>>>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>>>>> >>>>>>>>>> OK, So the changes have worked. But still failing at one more >>>>>>>>>> place. >>>>>>>>>> Attached the patch fixes it. >>>>>>>>>> >>>>>>>>>> On Mon, Jan 18, 2021 at 4:40 PM Akshay Joshi < >>>>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>>>> >>>>>>>>>>> Thanks, patch applied. >>>>>>>>>>> >>>>>>>>>>> On Mon, Jan 18, 2021 at 2:58 PM Aditya Toshniwal < >>>>>>>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> The jasmine test cases are working fine on my local machine. >>>>>>>>>>>> The test cases are successful on jenkins other than on linux, not sure why. >>>>>>>>>>>> I have made some fixes by looking at the log. Please review and >>>>>>>>>>>> try. >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Jan 18, 2021 at 1:10 PM Akshay Joshi < >>>>>>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Thanks, patch applied. >>>>>>>>>>>>> >>>>>>>>>>>>> On Mon, Jan 18, 2021 at 10:34 AM Aditya Toshniwal < >>>>>>>>>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Akshay, >>>>>>>>>>>>>> >>>>>>>>>>>>>> I forgot to remove few of the dependencies which are not >>>>>>>>>>>>>> required as of now (may be in future). Attached patch removes those >>>>>>>>>>>>>> dependencies from package.json. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Sat, Jan 16, 2021 at 5:08 PM Akshay Joshi < >>>>>>>>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thanks, patch applied. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Fri, Jan 15, 2021 at 7:01 PM Aditya Toshniwal < >>>>>>>>>>>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I've fixed the issues. You can find the comments inline. >>>>>>>>>>>>>>>> I've also added PropTypes for the components for increased >>>>>>>>>>>>>>>> validation. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Tue, Jan 12, 2021 at 12:18 PM Khushboo Vashi < >>>>>>>>>>>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi Aditya, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> The functionalities and the code looks good to me, however some of the comments as below: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - Correct the comments at some places (3 occurrences found in /erd/__init__.py) which mention Schema diff instead of ERD. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Some comments in the JS/JSX file regarding components/functions (For example, IconButton (forwardRef), Bodywidget etc.) would >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> be great help as we all are new to React. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Done. Added comments to the components. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - Remove the unused imports (for ex bad_request) in /erd/__init__.py >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Removed. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - Remove commented code >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> # req_args = request.args >>>>>>>>>>>>>>>>> # if ('recreate' in req_args and >>>>>>>>>>>>>>>>> # req_args['recreate'] == '1'): >>>>>>>>>>>>>>>>> # connect = False >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Removed. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - TableNode.jsx, below two lines can be combined. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> import { PortModelAlignment, DefaultNodeModel } from >>>>>>>>>>>>>>>>> '@projectstorm/react-diagrams'; >>>>>>>>>>>>>>>>> import { PortWidget } from '@projectstorm/react-diagrams'; >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Done. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - onImageClick function in BodyWidget.jsx is no use I think, so it should be removed. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I wanted to keep the code as it will be used in future. >>>>>>>>>>>>>>>> Anyway, I've removed the code. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - I got some console errors while adding/editing tables. Refer to the attached screenshot. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I tried but I didn't get any. Looking at the screenshot, >>>>>>>>>>>>>>>> the error is from the underlying library. Can't do much in this. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - In the column Edit Mode, while deleting the primary key, it gives the error, which does not go away with any further modifications. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Fixed. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - While generating the SQL, if the server is disconnected, a proper error message should be thrown, right now some server side error is coming. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> It will show connection lost error now. Fixed. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - Please remove ... from the menu title (New ERD Project(Beta)...) as it is not opening a dialog. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Done. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - For large data sets, generate ERD hangs. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> It shows the spinner and waits for the response to come >>>>>>>>>>>>>>>> from the back end. I've used the existing table fetching code which is used >>>>>>>>>>>>>>>> at other places. I'll create an RM to improve the back end code for >>>>>>>>>>>>>>>> fetching the tables data which will help the schema diff tool as well. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - Opening the ERD panel in a new window is not working, it opens in the same tab even if you have set the Preference "Open in new browser tab" to True. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Fixed. Added the setting in "Tab settings". >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - No shortcut is provided to open the ERD Tool. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> A shortcut is helpful if we are using it frequently. ERD >>>>>>>>>>>>>>>> tool won't be used that frequently. We already have a >>>>>>>>>>>>>>>> limited number of keys available for shortcuts. I think we should roll out >>>>>>>>>>>>>>>> without shortcut for now. If there is a user demand for it then we can >>>>>>>>>>>>>>>> think of adding it. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - SonarQube fixes required. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Fixed. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *Suggestion:* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> While removal of the FK link, If any of the table is selected, it is being deleted with FK link. >>>>>>>>>>>>>>>>> Either we should warn the user OR make 2 different buttons for FK removal and table removal as the user may be confused if the selected table is also removed with the FK. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I've added a confirmation dialog which will show the >>>>>>>>>>>>>>>> number of tables and links selected. This way user will know what he has >>>>>>>>>>>>>>>> selected before deleting. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> *Observations:* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Lodash has been used in this module in place of >>>>>>>>>>>>>>>>> Underscore, though the dependency is already introduced by another module, >>>>>>>>>>>>>>>>> but we have mentioned it in the package.json file, which >>>>>>>>>>>>>>>>> is somewhat not convincing to me. >>>>>>>>>>>>>>>>> Lodash is more advanced than Underscore but we should pick >>>>>>>>>>>>>>>>> anyone as it will be easy to manage. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> TL;DR; we cannot. >>>>>>>>>>>>>>>> lodash is a peer dependency for react-diagrams (and some >>>>>>>>>>>>>>>> existing modules in pgAdmin) so it will come to package.json without >>>>>>>>>>>>>>>> choice. We cannot remove underscore because it is a dependency of backbone. >>>>>>>>>>>>>>>> Underscore is outdated, and I cannot migrate the complete pgAdmin code. So, >>>>>>>>>>>>>>>> I decided to go with 100/0 method. All the new codes will use lodash only >>>>>>>>>>>>>>>> as we'll phase out underscore with time. Just like jQuery vs ReactJS. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Table dialog code is duplicate of the table node, as it >>>>>>>>>>>>>>>>> was difficult to extend it because it was attached to the tree. >>>>>>>>>>>>>>>>> So, we need to keep in mind that while implementing React >>>>>>>>>>>>>>>>> in pgAdmin, the nodes should be properly detached from the tree itself, so >>>>>>>>>>>>>>>>> we can reuse it. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Yes. I agree. We need to separate out data source from UI >>>>>>>>>>>>>>>> going forward with React. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>> Khushboo >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Mon, Dec 28, 2020 at 10:53 AM Khushboo Vashi < >>>>>>>>>>>>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Fri, Dec 25, 2020 at 4:34 PM Akshay Joshi < >>>>>>>>>>>>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Hi Khushboo, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Can you please review it? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On it. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Fri, Dec 25, 2020 at 3:31 PM Aditya Toshniwal < >>>>>>>>>>>>>>>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Hi Hackers, >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Attached patch introduces ERD Tool(Beta) to pgAdmin. >>>>>>>>>>>>>>>>>>>> Below are the details: >>>>>>>>>>>>>>>>>>>> 1) Create a diagram from scratch or generate for an >>>>>>>>>>>>>>>>>>>> existing DB. >>>>>>>>>>>>>>>>>>>> 2) Generate "Create" DDL from the diagram. >>>>>>>>>>>>>>>>>>>> 3) Save the diagram and resume it later. >>>>>>>>>>>>>>>>>>>> 4) Supports basic table fields, one-to-many >>>>>>>>>>>>>>>>>>>> relationships, many-to-many relationships, adding notes. >>>>>>>>>>>>>>>>>>>> 5) Test cases added with 75-80% test coverage. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Please review. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>>>> Aditya Toshniwal >>>>>>>>>>>>>>>>>>>> pgAdmin hacker | Sr. Software Engineer | >>>>>>>>>>>>>>>>>>>> *edbpostgres.com* >>>>>>>>>>>>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> *Thanks & Regards* >>>>>>>>>>>>>>>>>>> *Akshay Joshi* >>>>>>>>>>>>>>>>>>> *pgAdmin Hacker | Principal Software Architect* >>>>>>>>>>>>>>>>>>> *EDB Postgres * >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> *Mobile: +91 976-788-8246* >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>> Aditya Toshniwal >>>>>>>>>>>>>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> *Thanks & Regards* >>>>>>>>>>>>>>> *Akshay Joshi* >>>>>>>>>>>>>>> *pgAdmin Hacker | Principal Software Architect* >>>>>>>>>>>>>>> *EDB Postgres * >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> *Mobile: +91 976-788-8246* >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>> Aditya Toshniwal >>>>>>>>>>>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>>>>>>>>>>> >>>>>>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> *Thanks & Regards* >>>>>>>>>>>>> *Akshay Joshi* >>>>>>>>>>>>> *pgAdmin Hacker | Principal Software Architect* >>>>>>>>>>>>> *EDB Postgres * >>>>>>>>>>>>> >>>>>>>>>>>>> *Mobile: +91 976-788-8246* >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Thanks, >>>>>>>>>>>> Aditya Toshniwal >>>>>>>>>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>>>>>>>>> >>>>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Thanks & Regards* >>>>>>>>>>> *Akshay Joshi* >>>>>>>>>>> *pgAdmin Hacker | Principal Software Architect* >>>>>>>>>>> *EDB Postgres * >>>>>>>>>>> >>>>>>>>>>> *Mobile: +91 976-788-8246* >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Thanks, >>>>>>>>>> Aditya Toshniwal >>>>>>>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>>>>>>> >>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Thanks & Regards* >>>>>>>>> *Akshay Joshi* >>>>>>>>> *pgAdmin Hacker | Principal Software Architect* >>>>>>>>> *EDB Postgres * >>>>>>>>> >>>>>>>>> *Mobile: +91 976-788-8246* >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Dave Page >>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>> Twitter: @pgsnake >>>>>>>> >>>>>>>> EDB: http://www.enterprisedb.com >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Thanks, >>>>>>> Aditya Toshniwal >>>>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>>>> >>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Dave Page >>>>>> Blog: http://pgsnake.blogspot.com >>>>>> Twitter: @pgsnake >>>>>> >>>>>> EDB: http://www.enterprisedb.com >>>>>> >>>>>> >>>>> >>>>> -- >>>>> Thanks, >>>>> Aditya Toshniwal >>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>> >>>>> "Don't Complain about Heat, Plant a TREE" >>>>> >>>> >>>> >>>> -- >>>> Thanks, >>>> Aditya Toshniwal >>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>> >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> Thanks, >>> Aditya Toshniwal >>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>> >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> *Thanks & Regards* >> *Akshay Joshi* >> *pgAdmin Hacker | Principal Software Architect* >> *EDB Postgres * >> >> *Mobile: +91 976-788-8246* >> > > > -- > Thanks, > Aditya Toshniwal > pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* > > "Don't Complain about Heat, Plant a TREE" > -- *Thanks & Regards* *Akshay Joshi* *pgAdmin Hacker | Principal Software Architect* *EDB Postgres * *Mobile: +91 976-788-8246* --000000000000d9589405b9ba3143 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks, patch applied.

On Mon, Jan 25, 2021 at 7:39 PM = Aditya Toshniwal <a= ditya.toshniwal@enterprisedb.com> wrote:
Hi,

The attached patch fi= xes an issue created by existing table name check. Please review.

On M= on, Jan 25, 2021 at 5:34 PM Akshay Joshi <akshay.joshi@enterprisedb.com> = wrote:
Thanks, patch applied.

On Mon, Jan 25, 2021 at 5:18 PM Aditya Toshn= iwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi,

Please fin= d the rebased patch from the latest pull.

On Mon, Jan 25, 2021 at 5:12= PM Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi Hacker= s,

Attached is the patch to fix below issues in ERD:
  1. After opening an existing project, the first table is already selected but edit, clone, delete buttons are disabl= e. F= ixed.
  2. ERD project = title gets changed when 2 ERD projects are open & anyone of it edited.<= span class=3D"gmail_default" style=3D"font-family:verdana,sans-serif"> Fixe= d.
  3. Closing ERD tab= , does not ask for confirmation pop up. Added.
  4. Shortcut for 'Show more/Fewer details' is= missing. Added.
  5. Delet= ing primary key does not delete associated links. Fixed.
  6. = Long table & schema name are getting= out of box. Fixed.
  7. Lo= ng table name in notes pop-up need re-alignment. Fixed.
  8. <= font face=3D"verdana, sans-serif">Same table name present in ERD/canvas is = allowed in Add Table dialogue. Added validation in the dialog.
  9. Download image option=C2=A0is added, b= ut it is not perfect yet. Image icons (table, schema, etc.) are not showing= up.
  10. Rename panel = option should be disabled by default. It should be enabled for the tools whi= ch implement rename functionality.
  11. The Toolbar is not visible in Safari for the ERD tool. Fixed.<= /span>
Please review.

On Thu, Jan 21, 2021 at 4:32 PM Aditya Toshniwal <aditya.t= oshniwal@enterprisedb.com> wrote:
Hi,


On Th= u, Jan 21, 2021 at 3:08 PM Dave Page <dpage@pgadmin.org> wrote:

On Thu, Jan 21, 2021 at 4:48 AM Aditya Toshniwal <aditya.toshniwal@enterpri= sedb.com> wrote:
Hi Dave,

On Wed, Jan 20, 2021 at 9:20 PM Dave Page <dpage@pgadmin.org&= gt; wrote:
Hi

Where's the Save Image button gone? I= know Aditya was removing it whilst working on other things, but it's s= till required for phase 1 release.
It was not work= ing 100% right. :(
So I've removed it for the time being. = I'm still working on it.=C2=A0
=

OK, so that work will be completed in time for the buil= d next week?
I'm trying my best to make = it available before release. I'm struggling to make it work perfectly.<= /span>
=C2=A0

On Mon, Jan 18, 2021 at 11:45 AM Akshay= Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.
On = Mon, Jan 18, 2021 at 5:08 PM Aditya Toshniwal <aditya.toshniwal@enterprisedb= .com> wrote:
OK, So t= he changes have worked. But still failing at one more place.
Attached the patch fixes it.

On M= on, Jan 18, 2021 at 4:40 PM Akshay Joshi <akshay.joshi@enterprisedb.com> = wrote:
Thanks, patch applied.

On Mon, Jan 18, 2021 at 2:58 PM Aditya Toshn= iwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi,

The jasmine t= est cases are working=C2=A0fine on my local machine. The test cases are suc= cessful on jenkins other than on linux, not sure why.
I have made some fixes by looking at the log.= Please review and try.

On Mon, Jan 18, 2021 at 1:10 PM Akshay Joshi = <aksh= ay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.
<= br>
On Mon,= Jan 18, 2021 at 10:34 AM Aditya Toshniwal <aditya.toshniwal@enterprisedb.co= m> wrote:
Hi Akshay,<= /div>

I forgot to remove few of the dependencies = which are not required as of now (may be in future). Attached patch removes= those dependencies from package.json.

On Sat, Jan 16, 2021 at 5:08 PM= Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch app= lied.

On Fri, Jan 15, 2021 at 7:01 PM Aditya Toshniwal <aditya.toshniwal@ente= rprisedb.com> wrote:
Hi,
I've fixed the issues. You can find the comments inline.=
I've also added PropTypes for the components for increased valid= ation.

On Tue, Jan 12, 2021 at 12:18 PM Khushboo Vashi <= khushb= oo.vashi@enterprisedb.com> wrote:
Hi Aditya,
The functiona= lities and the code looks good to me, however some of the comments as below= :
  • Correct the comments at some places (3 occurrences found in /erd/__init__.py) which mention S= chema diff instead of ERD.
Some comments in t=
he JS/JSX file regarding components/functions (For example, IconButton (for=
wardRef), Bodywidget etc.) would
be great help as we all are new to React=
. 
Done. Added comments = to the components.
  • Remove the unused imports (for ex bad= _request) in /erd/__init__.py
  • Removed.=C2=A0
      =
    • Remove commented code
    =
    # req_args =3D request.args
    # if ('= ;recreate' in req_args and
    # =C2=A0 =C2=A0 req_args['recreate= 9;] =3D=3D '1'):
    # =C2=A0 =C2=A0 connect =3D False
    Removed.=C2=A0
    • TableNode.jsx, below two lines c= an be combined.
    import { = PortModelAlignment, DefaultNodeModel } from '@projectstorm/react-diagra= ms';
    import { PortWidget } from '@projectstorm/react-diagrams= 9;;
    Done.=C2=A0
    • onImageClick function in BodyWidget.jsx is no use I think, so it sho= uld be removed.
    I wanted to= keep the code as it will be used in future. Anyway, I've removed the c= ode.
    • I got some console errors while adding/editing tabl= es. Refer to the attached screenshot.
    I tried but I didn't get any. Looking at the screenshot, the= error is from the underlying library. Can't do much in this.=C2= =A0
    • In the column Edit Mode, while deleting the primary key, it= gives the error, which does not go away with any further modifications.
    Fixed.=C2=A0
    • While generating the SQL, if the server is disconnected, a proper error = message should be thrown, right now some server side error is coming.
    It will show connection lost er= ror now. Fixed.=C2=A0
    • Please remove ... from the menu = title (New ERD Project(Beta)...) as it is not opening a dialog.
    • =
    Done.=C2=A0
    =
    
    • For lar= ge data sets, generate ERD hangs.
    It shows the spinner and waits for the response to come from the bac= k end. I've used the existing table fetching code which is used at othe= r places. I'll create an RM to improve the back end code for fetching t= he tables data which will help the schema diff tool as well.
    • Opening the ERD panel in a new window is not working, it opens in th= e same tab even if you have set the Preference "Open in new browser ta= b" to True.
    Fixed. Add= ed the setting in "Tab settings".
  • No shortcu= t is provided to open the ERD Tool.
  • A shortcut is helpful if we are using it frequently. ERD tool won&= #39;t be used that frequently.=C2=A0We already have a limited number of = keys available for shortcuts. I think we should roll out without shortcut f= or now. If there is a user demand for it then we can think of adding it.
    • SonarQube fixes required.
    Fixed.=C2=A0
    Suggestion:=
    
    While removal of the FK link, If any of the table= is selected, it is being deleted with FK link.
    Either we should warn the= user OR make 2 different buttons for FK removal and table removal as the u= ser may be confused if the selected table is also removed with the FK.
    <= /font>
    I've added a confirmation dialog which = will show the number of tables and links selected. This way user will know = what he has selected before deleting.
    =
    Observa=
    tions:
    Lodas= h has been used in this module in place of Underscore, though the dependenc= y is already introduced by another module,
    but we have mentioned it in t= he package.json file, which is somewhat not convincing to me.
    Lodash is = more advanced than Underscore but we should pick anyone as it will be easy = to manage.
    TL;DR; we cannot.
    lodash is a peer dependency for react-diagrams (and some existing= modules in pgAdmin) so it will come to package.json without choice. We can= not remove underscore because it is a dependency of backbone. Underscore is= outdated, and I cannot migrate the complete pgAdmin code.=C2=A0So, I de= cided to go with 100/0 method. All the new codes will use lodash only as we= 'll phase out underscore with time. Just like jQuery vs ReactJS.=


    Table dialog code is duplicate of the table node, as it was difficul= t to extend it because it was attached to the tree.
    So, we need to keep = in mind that while implementing React in pgAdmin, the nodes should be prope= rly detached from the tree itself, so we can reuse it.
    Yes. I agree. We need to separate out data source fr= om UI going forward=C2=A0with React.
    Thanks,
    Khushboo


    On Mon, Dec 28, 2020 at 10:53 AM Khushboo Vashi <khushboo.vashi@enterpris= edb.com> wrote:


    On Fri, Dec 25, 2020 at 4:34 PM Akshay Joshi <akshay.joshi@enterp= risedb.com> wrote:
    Hi Khush= boo,

    Can you please review it?

    On it.=C2=A0
    On Fri, Dec 25, 2020 at 3:31 PM Ad= itya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
    <= /div>
    Hi Hackers,

    Attached patch introduces ERD Tool(Beta) to pgAdmin. Below are the detai= ls:
    1) Create a diagram f= rom scratch or generate for an existing DB.
    2) Generate "Create" DDL from the diagram.
    3) Save the diagram and resu= me it later.
    4) Supports = basic table fields, one-to-many relationships, many-to-many relationships, = adding notes.
    5) Test cas= es added with 75-80% test coverage.

    Please re= view.

    --
    Thanks,
    Aditya Toshniwal
    pgAdmin hacker=C2=A0| Sr. Software Engineer | = edbpostgres.com
    "Don't Complain about Heat= , Plant a TREE"


    --
    Thanks & Regards
    Akshay Joshi
    = pgAdmin Hacker | Principal Software Ar= chitect
    EDB Po= stgres
    Mobile: +91 976-788-8246

    <= /div>


    --
    Thanks,
    Aditya Toshniwal=
    pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
    &quo= t;Don't Complain about Heat, Plant a TREE"


    --
    Thank= s & Regards
    Akshay Joshi
    pgAdmin Hacker | Principal Softw= are Architect
    EDB Po= stgres
    Mobile: +91 976-788-8246



    --
    Thanks,
    Aditya Toshniwal=
    pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
    &quo= t;Don't Complain about Heat, Plant a TREE"


    --
    Thank= s & Regards
    Akshay Joshi
    pgAdmin Hacker | Principal Softw= are Architect
    EDB Po= stgres
    Mobile: +91 976-788-8246



    --
    Thanks,
    Aditya Toshniwal=
    pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
    &quo= t;Don't Complain about Heat, Plant a TREE"


    --
    Thank= s & Regards
    Akshay Joshi
    pgAdmin Hacker | Principal Softw= are Architect
    EDB Po= stgres
    Mobile: +91 976-788-8246



    --
    Thanks,
    Aditya Toshniwal=
    pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
    &quo= t;Don't Complain about Heat, Plant a TREE"


    --
    Thank= s & Regards
    Akshay Joshi
    pgAdmin Hacker | Principal Softw= are Architect
    EDB Po= stgres
    Mobile: +91 976-788-8246



    --


    --
    Thanks,
    Aditya Toshniwal=
    pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
    &quo= t;Don't Complain about Heat, Plant a TREE"


    --


    --
    Thanks,
    Aditya Toshniwal=
    pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
    &quo= t;Don't Complain about Heat, Plant a TREE"


    --
    Thanks,
    Aditya Toshniwal=
    pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
    &quo= t;Don't Complain about Heat, Plant a TREE"


    --
    Thanks,
    Aditya Toshniwal=
    pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
    &quo= t;Don't Complain about Heat, Plant a TREE"


    --
    Thank= s & Regards
    Akshay Joshi
    pgAdmin Hacker | Principal Softw= are Architect
    EDB Po= stgres
    Mobile: +91 976-788-8246



    --
    Thanks,
    Aditya Toshniwal=
    pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
    &quo= t;Don't Complain about Heat, Plant a TREE"


    --
    Thanks & Regards
    Akshay Joshi
    pgAdmi= n Hacker | Principal Software Architect
    EDB Postgres
    Mobile: +91 976-788-8246

    --000000000000d9589405b9ba3143--