A lot of suggestions (long)

Hi all,

I’m evaluating this tool to use with PostgreSQL and I have to say that I like a lot.
Actually is the #1 candidate to buy.
However, I have found some things I’d like to see in the product…
Here is the list:

  1. I’d like to define primary key fields with a checkbox directly from attributes list, instead of having to go in primary key tab. As there’s always only one primary key for
    a table, the primary key can be generated using standard naming convention rules from the fieds with the primary key attribute checked.

  2. In workspace I’dlike to see a hint when I pass over identity/relation/view indicating the name of the object (and maybe comment also?). Can be greatly useful when you set “fit to screen” to have a big picture of the model but object are shown very little. Also right clicking on entity shortcuts and choosing Find object is not of great usefulness when object are little because is not too much visible… can be maybe found a way to make it more visible? Finally, in some concurrent products I’ve seen a nice feature: when you click on a reference the related fields in both tables are highlighted… maybe is more spectacular than useful but…

  3. check constraint rules: imho its usefulness is limited by the fact that in SQL page you have to put correct field name also, so you cannot reuse the same rule for many different field names with same check: could be interesting having something like a placeholder: for example %fieldname% in (‘A’, ‘B’, ‘C’) that is then replaced with “real” field name. This cannot solve situation when you check more than one field in same instruction, but in my experience 90% of constraints are on single field only.

  4. Somehow related with previous point: if I specify a domain with a check constraint rule inside, and then I use this domain to define a field, the check constraint is generated in script without a name. Is not possible in that case to give him a name using standard field check contraint naming convention rule? Or one option for named/unnamed check constraint… (I never use unnamed check constraints!)

  5. Domains: could be a good idea to have there null/not null also? (doubful on this)

  6. When generating DDL script, having an option to keep all check constraint external from table generation instead of embedded inside create table like now

  7. In DDL script generation, make optional quoting of identifiers (actually are all always quoted). This is particularly important with PostgreSQL that is case sensitive for names!

  8. Make all these DDL options (+ the existing ones, like adding create or replace for view/procedures) valid not only in DDL but also in sql preview tabs

  9. I like a lot to see in the attributes form, the combobox populated with all names of other fields so that I can switch to another field quickly (and also new buttons up/down added in beta are great!) but personally I’d prefer to have fields ordered not alpha but in generation sequence… or some option to choose ordering

  10. In procedure definition, I’d like to have a grid to define params instead of a free text memo space like now (more clean IMHO) with following columns: param name, data type (not only standard types, because in postgres you can define a param like table.field%type, or table%rowtype), kind (in, out, inout, variadic), default value

  11. I’d like to prepare some “standard” function bodies (particularly useful for triggers!) and then in sql tabsheet of function choose one of these and have it “injected” inside… (ask before: to avoid activation by mistake on a 2,500 rows procedure!!)

  12. In function sql tabsheet I’d like to have a button to invoke an external editor, and can choose between one or more “registered” external editors… (like powerdesigner does )

  13. (specific for postgres) Maybe is too much have some flag to identify trigger functions from “standard” functions, and have only the former listed in function combobox in table’s trigger definition?

Ok, enough for now… I’ve something more about naming conventions, but I want to carefully study how they works right now before saying something…

regards…

Hi,

See our reply below - Part I. :wink:

  1. I’d like to define primary key fields with a checkbox directly from attributes list, instead of having to go in primary key tab. As there’s always only one primary key for
    a table, the primary key can be generated using standard naming convention rules from the fieds with the primary key attribute checked.

You don’t have to go to tab Keys. Simply stay on tab Attributes and double-click the Key column next to the selected attribute.

  1. In workspace I’dlike to see a hint when I pass over identity/relation/view indicating the name of the object (and maybe comment also?). Can be greatly useful when you set “fit to screen” to have a big picture of the model but object are shown very little.

Feel free to write the text (e.g. the object name) on tab Notes in the Entity Property dialog. When you point your mouse cursor at the entity name (although the entity is very small), a hint with the name will pop up.

Also right clicking on entity shortcuts and choosing Find object is not of great usefulness when object are little because is not too much visible… can be maybe found a way to make it more visible?

Yes, we will improve the find/search object functionality.

Finally, in some concurrent products I’ve seen a nice feature: when you click on a reference the related fields in both tables are highlighted… maybe is more spectacular than useful but…

This is supported in current Beta 3.5.2.

  1. check constraint rules: imho its usefulness is limited by the fact that in SQL page you have to put correct field name also, so you cannot reuse the same rule for many different field names with same check: could be interesting having something like a placeholder: for example %fieldname% in (‘A’, ‘B’, ‘C’) that is then replaced with “real” field name. This cannot solve situation when you check more than one field in same instruction, but in my experience 90% of constraints are on single field only.

It is available in current commercial version but instead of %fieldname% , please write %ColumnName%.

  1. Somehow related with previous point: if I specify a domain with a check constraint rule inside, and then I use this domain to define a field, the check constraint is generated in script without a name. Is not possible in that case to give him a name using standard field check contraint naming convention rule? Or one option for named/unnamed check constraint… (I never use unnamed check constraints!)

Let me explain - Domain check constraints:
When you use them in attributes, they have no names. It works this way because of the following reason:
Let’s imagine the situation when they have names. Now if you use the domain in more attributes, one of the check constraint names will be created in more check constraints (as many times as the number of attributes (where the domain is used) is) and most databases wouldn’t accept it.

Regards,

Vladka + TDM Team

Hello Roberto,

Here I’m with other replies. (Part II :wink: )

Domains: could be a good idea to have there null/not null also? (doubful on this)

Thanks for your suggestion. We will consider it.

When generating DDL script, having an option to keep all check constraint external from table generation instead of embedded inside create table like now

Yes, this is already planned. Thanks.

In DDL script generation, make optional quoting of identifiers (actually are all always quoted). This is particularly important with PostgreSQL that is case sensitive for names!

For this purpose there is a checkbox “Use Quotations” (DDL Script Generation dialog | Detail Settings tab). This checkbox doesn’t work for places where bigger parts of code are written (e.g. SQL tab in Functions).

Make all these DDL options (viz body vyse) (+ the existing ones, like adding create or replace for view/procedures) valid not only in DDL but also in sql preview tabs

This is available. Again, please open the DDL Script Generation dialog (F9)| Detail Settings tab and see checkbox “Generate Create or Replace in Generated Views and Functions”. If you select this checkbox, click Save Settings and save the model, it will be displayed also in SQL Preview of the particular objects.

  1. I like a lot to see in the attributes form, the combobox populated with all names of other fields so that I can switch to another field quickly (and also new buttons up/down added in beta are great!) but personally I’d prefer to have fields ordered not alpha but in generation sequence… or some option to choose ordering

No problem. We can do it. CR # 69 056.

In procedure definition, I’d like to have a grid to define params instead of a free text memo space like now (more clean IMHO) with following columns: param name, data type (not only standard types, because in postgres you can define a param like table.field%type, or table%rowtype), kind (in, out, inout, variadic), default value

It’s not possible for now. However, we will consider it.

I’d like to prepare some “standard” function bodies (particularly useful for triggers!) and then in sql tabsheet of function choose one of these and have it “injected” inside… (ask before: to avoid activation by mistake on a 2,500 rows procedure!!)

Thanks. This request has already been raised and is registered under CR # 47 165.
Now the only available solution is to use scripting - execute a script that would write a function body to all functions.

In function sql tabsheet I’d like to have a button to invoke an external editor, and can choose between one or more “registered” external editors… (like powerdesigner does )

Thanks for your request - CR # 69 054.

(specific for postgres) Maybe is too much have some flag to identify trigger functions from “standard” functions, and have only the former listed in function combobox in table’s trigger definition?

Yes, this would be nice. At the moment it is not possible. We will see what we can do about it. CR # 69 055.

Thanks for your fantastic co-operation!

Regards,

Vladka + TDM Team

Hello Vladka,

thanks a lot for your time and patience in answering me.
I’ve only one more thing to add…

  1. In workspace I’dlike to see a hint when I pass over identity/relation/view indicating the name of the object (and maybe comment also?). Can be greatly useful when you set “fit to screen” to have a big picture of the model but object are shown very little.

Feel free to write the text (e.g. the object name) on tab Notes in the Entity Property dialog. When you point your mouse cursor at the entity name (although the entity is very small), a hint with the name will pop up.

I’ve tried, but hint is activated only passing over the entity name, and if the entity is very small is very difficult to correctly “point” to the title. Personally I’d prefer having hint on the whole surface of entity…
But maybe it’s me…

Hello Roberto,

I've tried, but hint is activated only passing over the entity name, and if the entity is very small is very difficult to correctly "point" to the title. Personally I'd prefer having hint on the whole surface of entity...

Unfortunately, to display the hint on entity (text written on tab Notes), it is necessary to point the cursor at entity name. Attributes of the entity can have some notes too. So, when you point the cursor at entity body, at an attribute that has notes, a hint on the attribute will be displayed.

Nevertheless, please feel free to use Loupe to see the names in a comfortable way.

I hope this will help a little.

Regards,

Vladka

Hello Vladka,

yes can be of some help… thanks

regards
Roberto