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 1l1SyO-000751-MD for pgadmin-hackers@arkaria.postgresql.org; Mon, 18 Jan 2021 11:45:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l1SyN-0003YN-Jb for pgadmin-hackers@arkaria.postgresql.org; Mon, 18 Jan 2021 11:45:27 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l1SyN-0003YE-0W for pgadmin-hackers@lists.postgresql.org; Mon, 18 Jan 2021 11:45:27 +0000 Received: from mail-io1-xd33.google.com ([2607:f8b0:4864:20::d33]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1l1SyJ-0006fo-Mq for pgadmin-hackers@postgresql.org; Mon, 18 Jan 2021 11:45:25 +0000 Received: by mail-io1-xd33.google.com with SMTP id n2so15012586iom.7 for ; Mon, 18 Jan 2021 03:45:23 -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=vM4Xd1IsixV426+VKat/T15w6GuA7s6qJYj5OtP96DU=; b=Lwkl77EAFB/J8NMiiQA+Ts2foMwcmXbkU0mALU35OAznQR94XJmQfqIic+3J6LlWaj enN4Z9dYBreoQ/3VVnJWoYV3zv9r73dl7yaWadtei58yAVnTnpPfaj4ROiMNJCAzt70V /xVG1HrmC2Cs8vaftsU/3TSLZcrFFC8uX93Etz0Rxh/fL4HkQKlJ7t2i74AonG+vb4MU J9YIZXlkiQL6GI0kD2NH7GpbYgeHn84FNqJlTXpIPlAs7sNuONPgyNrgbnAiZgk6rbhF uwbRjxw6wuPkZLDCv40skLngxjvOaWOcOcF5YkKhbfZ9n4JX4zwqUYjJsuRJ3I5BzB0G 3jZw== 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=vM4Xd1IsixV426+VKat/T15w6GuA7s6qJYj5OtP96DU=; b=X284sJvdhl6o9HvIwzeHa1xgGuWlYKWZ/C5IWqGncPHzJzwSw5SsdQmx31K1FNX5xl 01wsLZxr9+YCCHAJSogP3ITa0Ku/568Qu0eiNC39XlHf5EMPaL0xmLqZ+1P9JerBTyrK JXHZ9nerhsf5J5M323i6o2Bf6LnxV9HIZbaydpY0cCQL5v9p1NWi7e6MKWMm+5PJpAnu hrEpgH+gRfWjP0l/icNO4rO32twH27yF7xC6b3sl5dxiN+dy4AMZP32LeQzwTGrVvtDY 14KWriyzgH1JSYcFGIShUxykD4GemQRoSN9XhDuW3nbO6+u7wzdTexjc0UjoP9EeMFE0 Oarg== X-Gm-Message-State: AOAM530F9rVT9AoEkEywnV5RokkvtKut0o2APie93/4vsWak75m8L/BO Rf+v/fPunojCIHHU2z9VbQ3PGJ3d561229HiobalMhFlgu2aMTtoKU9uc1+N33+pMmXXNCvuNeS 2JRWi8PJ3KmGhFvHT0AExQnsallZe/Gb6eV2Mu0gAANxDwQQlX/3LmSyjD8yYWLsAF+IwZXSifq dWtT32oXImi7PfPvEX5vGksHVjiA31nT1iLomFGJNdOrGpFrtGyqApydH/qA== X-Google-Smtp-Source: ABdhPJytp2BYfVMEdEUR+BOPi6sJ371sTg/xDSIOCYuyNWawK1SSepIqu3X/emXBRu1brUeZ6YKh0ZAV0tgI/1v7Bp4= X-Received: by 2002:a05:6e02:1985:: with SMTP id g5mr20322607ilf.257.1610970322720; Mon, 18 Jan 2021 03:45:22 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Akshay Joshi Date: Mon, 18 Jan 2021 17:15:11 +0530 Message-ID: Subject: Re: [pgAdmin][RM1802] ERD Tool (Beta) To: Aditya Toshniwal Cc: Khushboo Vashi , pgadmin-hackers Content-Type: multipart/alternative; boundary="000000000000d46f2305b92b413e" 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 --000000000000d46f2305b92b413e Content-Type: text/plain; charset="UTF-8" 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* --000000000000d46f2305b92b413e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks, patch applied.

On Mon, Jan 18, 2021 at 5:08 PM Adit= ya Toshniwal <adity= a.toshniwal@enterprisedb.com> wrote:
OK, So the changes have worked. But= still failing at one more place.
Attached the patch fixes it.

On Mo= n, Jan 18, 2021 at 4:40 PM Akshay Joshi <akshay.joshi@enterprisedb.com> w= rote:
Thanks, patch applied.

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

The jasmine tes= t cases are working=C2=A0fine on my local machine. The test cases are succe= ssful 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, patc= h applied.

On Mon, Jan 18, 2021 at 10:34 AM Aditya Toshniwal <aditya.to= shniwal@enterprisedb.com> wrote:
Hi Akshay,

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

<= div class=3D"gmail_quote">
On Sat, Jan= 16, 2021 at 5:08 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:<= br>
Thanks, patch applied.

On Fri, Jan 15, 2021 at 7:01 PM Aditya Toshniwal <= ;adi= tya.toshniwal@enterprisedb.com> wrote:
Hi,

<= div class=3D"gmail_default" style=3D"font-family:verdana,sans-serif">I've fixed the issues. You can find the comment= s inline.
I've also added PropType= s for the components for increased validation.

On Tue, Jan = 12, 2021 at 12:18 PM Khushboo Vashi <khushboo.vashi@enterprisedb.com> w= rote:
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 componen=
ts/functions (For example, IconButton (forwardRef), Bodywidget etc.) would<=
/font>
Done. Added comments to the components.
  • Remove the unused imports (for ex bad_request) in /erd/__init__.py
Removed.=C2=A0
<= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex">
  • Remove commented code
# req_args =3D request.args
# if ('recreate' in req_args and=
# =C2=A0 =C2=A0 req_args['recreate'] =3D=3D '1'):
# = =C2=A0 =C2=A0 connect =3D False
Removed.=C2=A0
  • TableNode.jsx, below two lines can be combined.
import { PortModelAlignment, DefaultNod= eModel } from '@projectstorm/react-diagrams';
import { PortWidge= t } from '@projectstorm/react-diagrams';
<= /div>
Done.=C2=A0
  • 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 use= d in future. Anyway, I've removed the code.
<=
ul style=3D"color:rgb(0,0,0)">
  • I got so= me console errors while adding/editing tables. Refer to the attached screen= shot.
  • I tried but I didn= 9;t get any. Looking at the screenshot, the error is from the underlying li= brary. Can't do much in this.=C2=A0
    • In the column Ed= it 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 error now. Fixed.=C2=A0
    • Please remove ... from the menu title (New ERD Project(Beta)...) a= s it is not opening a dialog.
    Done.=C2=A0
      For large data sets, generate ERD hangs.<= /font>
    It shows the spinner and wa= its 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 ne= w 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 a= re using it frequently. ERD tool won'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 for now. If there is a user demand for= it then we can think of adding it.
    • SonarQube fixes requ= ired.
    Fixed.=C2=A0
    Suggestion:
    <= blockquote style=3D"margin:0px 0px 0px 40px;border:none;padding:0px">
    <=
    div style=3D"color:rgb(0,0,0)">While remov=
    al of the FK link, If any of the table is selected, it is being deleted wit=
    h 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 t= able 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 s= elected before deleting.
    Observations:=
    
    Lodash has been us= ed in this module in place of Underscore, though the dependency is already = introduced by another module,
    but we have mentioned it in the package.js= on 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.
    lod= ash is a peer dependency for react-diagrams (and some existing modules in p= gAdmin) so it will come to package.json without choice. We cannot remove un= derscore because it is a dependency of backbone. Underscore is outdated, an= d I cannot migrate the complete pgAdmin code.=C2=A0So, I decided to go w= ith 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 i= t 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 f= orward=C2=A0with React.

    Thanks,
    K= hushboo


    On Mon, = Dec 28, 2020 at 10:53 AM Khushboo Vashi <khushboo.vashi@enterprisedb.com&g= t; wrote:


    akshay.joshi@enterprisedb.com> wrote:
    Hi Khushboo,
    Can you please review it?

    On it.=C2=A0
    On Fri, Dec 25, 2020 at 3:31 PM Aditya Toshniwa= l <aditya.toshniwal@enterprisedb.com> wrote:
    Hi Hackers,

    Attached p= atch introduces ERD Tool(Beta) to pgAdmin. Below are the details:
    1) Create a diagram from scratch o= r generate for an existing DB.
    2) Generate "Create" DDL from the diagram.
    3) Save the diagram and resume it later.<= /font>
    4) Supports basic table f= ields, one-to-many relationships, many-to-many relationships, adding notes.=
    5) Test cases added with= 75-80% test coverage.
    Please review.<= /div>

    --
    Thanks,
    Aditya Toshniwal
    pgAdmin hacker=C2=A0| Sr. S= oftware Engineer | edbpostgr= es.com
    "Don't Complain about Heat, Plant a TR= EE"


    --
    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"


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

    --000000000000d46f2305b92b413e--