Re: First test of the Database Designer

From: Luis Ochoa <ziul1979(at)gmail(dot)com>
To: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: First test of the Database Designer
Date: 2011-06-16 22:27:51
Message-ID: BANLkTimnyzrQHTVSTp7=bFGDu0DSNWzXNg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

>
> Can you tell me how much progress you did since you started working on
> this list? I tried to compile your branch tonight, but got some errors
> about missing files. Should be the same issue as always (obsolete
> module.mk files).
>
>
I just made a git pull from my repository at latest commit:
985002d4eff2d42d1d6b then made a git diff looking for local difference and
any diff weren't located. then I emit a bash bootstrap, later a configure,
and at last a make at my ubuntu 11.04 machine.

Then everything goes fine and no errors where raised.

I'm not sure about what's your problem but I can tell you that after all
previous errors, I had tried to avoid obsoletes module.mk files at my
commits.

Now information about all TODOs from mentor

> * I have an assertion each time I launch pgAdmin2 from your repo:
> Debug: ./src/common/cmdline.cpp(446): assert "i != (-1)" failed in
> Found(): unknown switch

Well, I'm not sure how to solve this error because this probably is a
merging problem of gleu repo with my pgadmin3 fork and original pgadmin3 at
github of a part of pgAdmin that I don't know how works, and I have never
modified, because that have raised like 100+ hundreds conflicts and I tried
to solve as good as my knowledge of pgAdmin let me to do it.

> * I should be able to right click on an empty schema to create a table

Done.

>
> * UI of new table dialog:
> * the "Generate Short Name" button should not be there
> * focus should be on the first textbox
> * OK should be the default button (iow, hitting enter should trigger
> it)
> * Cancel should behave like any cancel button (iow, hitting esc should
> trigger it)
>

show dialog -> focus at first textbox, enter at that textbox will be the
same as click over ok button.
pressing esc-> will be the same as click over cancel button.

new UI is:

table name [text] short name [text] [generate button]
[ok button] [cancel button]

> * UI of relationships
> * it should be possible to create relationships between existing
> columns

Right now working on it...

>
> * adding a char(n) type doesn't ask for its length

Fixed for all datatypes, added precision and scale to numeric too.

> * moreover, the list of datatype seems weird to me... you should list
> all available types and when the user choose a type with a length
> and/or a precision, it should ask them (it's already like that for
> varchar, but not for char, numeric, etc)

Well, mentor suggestion was grabing all the datatypes in the pg_type
catalog, but this isn't only getting all datatypes of pg_type it include
changing the way datatypes are managed right now, and probably should be
changed at next step of my project of adding support of user defined
datatypes and because this I believe this is part of that project goal. But
I'm going to do whatever my mentor suggest me. What should I do ?

> * I can't use the del key when I select an object (table and
> relationship)

Added.

>
> * if I create a relationship between t1 and t2, and then between t2 and
> t1, once you start moving one of these tables, the two relationships
> appear as just one

This is part of a new feature that will change base relationship classes.
This wasn't planned for this project of improvement of database designer,
but again if my mentor suggest it, I'll do it.

* if the user asks for a new design, the sql textbox should be empty too

Done.

> * UI of relationship contextual menu
> * you should only keep one item of "1:1" and "1:M", it's one or the
> other, so you must not offer both with a checkbox
>
Done.

> * rather than menu items "Foreign Key from Primary Key", and "Foreign
> Key from Unique Key", you should have a sub menu entitled "Foreign
> Key From", and, for the items in the submenu, you should have
> "Primary Key", and "Unique Constraint "+name of each unique
> constraint... this way, the user knows quickly which constraint is
> used, and could change it quickly... and you have one less dialog

Done.

>
> * in a table box, there is a "Indexes" item never used. It should
> disappeared.

Removed.

>
> * I can move a table outside of the drawing area, and I can never get it
> back

Fixed.

>
> Even if it's a long list of complaints, I didn't really hit a bug like I
> did in the previous GSoC, so that's quite good. I could even draw my
> test schema almost completely (almost because Luis's repo doesn't
> support yet self referencing table).

Related to: two relationships appear as just one.

Self referencing table are part of a new feature that will change base
relationship classes too, and adding it will require to add orthogonal lines
and new kind of locators of images boundaries and new kind of
connector. This wasn't planned for this project of improvement of database
designer, but again if my mentor suggest it, I'll do it. But this feature
will take like 2 or 1 week in the best case scenary.

> That test schema always ended with
> a crash of pgAdmin. That doesn't happen any more, and it's good. But
> it's not good enough to be commitable.

I'm going to finish Fk Mapping Subsystem between today and tomorrow, and I
will end all except this two new features:

- self relationships and two relationships appear as just one.
- datatypes from pg_type catalog.

Right now I want to know what should I do with this new features?

Regards, Luis.

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Ashesh Vashi 2011-06-17 04:35:20 Re: Discussion - Search Objects
Previous Message Jasmin Dizdarevic 2011-06-16 22:23:54 Re: Discussion - Search Objects