On Tue, Jul 8, 2014 at 9:04 PM, Marc Delisle marc@infomarc.info wrote:
Le 2014-07-08 10:48, Ashutosh Dhundhara a écrit :
On Tue, Jul 8, 2014 at 6:01 PM, Marc Delisle <marc@infomarc.info mailto:marc@infomarc.info> wrote:
Le 2014-07-08 07:52, Ashutosh Dhundhara a écrit : > Hi, > > I have got some ideas regarding RFE #908 > <http://sourceforge.net/p/phpmyadmin/feature-requests/908/> (Improvements for > the table editor (index creation)). > > *_1. Making Column section on 'Add Index' dialog sort-able._* > With this user will be able to change the order of columns in case
of
> composite keys. > > *_2. Displaying a dialog box when multiple columns for same type of > index are selected on 'Create table' page._* > This dialog will have two options: 'Create new' and 'Create composite'. > - 'Create new' will allow user to create a new single column key. (Table > can have only one Primary key) > - 'Create composite' will allow user to add that column to a
existing
> key (to be created) and sort the order of columns. > > Will this implement this feature request? Hi Ashutosh, first, the feature request says "If I add two indexed fields to a table"; remember that this action can be done on initial table
creation,
and when adding columns on an existing table.
Thanks for pointing this out. I missed that 'adding column on an existing table' part.
About your suggestion #1, are you talking about the dialog that
appears
after choosing table Structure > Indexes > Create an index on x
columns
? If so, the user can already choose the columns in the correct
order;
so you want to help the user change his mind when creating the index? I am not against, but this would be more useful when _editing_ an
index.
Or it can be done in both situations.
Yeah, this can be done with the existing system. I failed to see that.
I mean, calling the existing index editor (improved with the sortable columns), when adding the columns with an index choice selected.
But the user can still change the order of columns using the select lists on the 'Edit Index' dialog.
About your suggestion #2, if the user chose PRIMARY in the selector
for
two columns, it makes no sense to show this additional dialog (unless you want him to confirm that the PRIMARY will be composite) but it
makes
sense to allow column sorting.
Yeah Marc, I won't show this dialog for PRIMARY key.
But if the user wants to create a composite primary key, I expect that you will show the dialog for choosing the index order.
Yeah, I will do that.
If he chose UNIQUE or INDEX, instead of "Create new" I would say
"Create
single-column indexes". The other message could be "Create a
composite
index" but do you suggest that this choice opens the already-existing Edit index dialog, which you would prefill with the chosen column
names?
As per the feature request, the default choice should be to create single-column indexes.
I think you are getting it wrong. This part is for 'Create table' page and 'add column to existing table' page. Lets say I am creating a new table. I have added a column `col1` and selected UNIQUE index for it (before clicking 'Go'). I won't see any dialog yet. Now lets I have added another column `col2` and selected UNIQUE index for this as well. Now I will get a dialog asking for "Create single-column indexes" or "Create a composite index". If I will choose "Create a composite index", then I will get a list of all temporary UNIQUE indexes and I can merge that column into any of these indexes. For PRIMARY index, we will need only the composite-index part.
But the create table form can still change before submission. What happens if the user goes back to col1 and unselects UNIQUE?
We can remove that column from the corresponding indexes and add it a new as before.
I think this will also handle the issue highlighted by you in the next
mail?
Not sure, it depends on the moment when the user uses the index selector and for which column.
Lets user first selects INDEX for col a (no dialog box yet); then selects INDEX for col b too and he gets a dialog box. Then he adds col b with col a's index by choosing "Create a composite index" option. And finally he selects UNIQUE for col c and again he gets a dialog box. Then he chooses "Create single-column indexes" option. In this way he can get composite-index for a + b and single index on c. Is this the case you are referring?