On Fri, May 23, 2014 at 2:45 AM, Marc Delisle <marc@infomarc.info> wrote:
Le 2014-05-22 15:25, Smita a écrit :
>
> On Thu, May 22, 2014 at 10:44 PM, Marc Delisle <marc@infomarc.info
> <mailto:marc@infomarc.info>> wrote:
>
>     Hi Smita,
>
>     I was under the impression that the central list of columns would be
>     authoritative, regarding the column attributes. Currently, it seems that
>     the table itself has priority.
>
>     For example, if a column is described in the central list as being
>     VARCHAR(40), and the same column name exists in a table, but with
>     VARCHAR(45), I would expect a sync operation to adjust the column's size
>       to the "official" 40. On the contrary, the central list is modified
>     when doing the sync.
>
> Hi Marc,
> In my opinion, changing type without user consent is not a good idea.
> there might be a case that, in one table let say 'id' field needs INT
> but in another table which expected to have lot more rows will need
> field 'id' to be of type BIGINT. So in this case if system changes
> BIGINT to INT, it would be big problem. If I understood you correctly.

In this case, in the central list, 'id' should be defined as BIGINT, and
the central definition should be the one that is applied to a table,
when someone asks to synchronize this table.

Now, what kind of user confirmation should be asked in this case, is up
to you.

Maybe, calling this feature "Sync" is misleading, and we need two
different features. One that would populate the central list, starting
from a particular table (but should notify the user in case a column
name already exists in the central list).
 
We can just say, Add unique columns to central list instead of saying "Sync" .
So if user chooses a table to add its columns to the central, and some column of this table already exist in the central then we show columns col1, col3 already exist so is not updated ?

And another feature that applies the central list definitions to a
chosen table (or just verifies and notifies the user if a central
definition is found for one of the columns in this table).
 
>
>     Or, am I mistaken with the goal of the sync feature?
>
>
> I think my understanding of the problem [0] is somewhat different from
> what you have understood. What I understood from the problem that some
> of the already existing columns from the database, we keep in a central
> list. and then while making a new table or adding a new column to a
> existing table,  from the central list we can pick a column using option
> on UI which autopopulate all the fields for new column being added. So
> if there is already a existing column let say 'product_id', while adding
> new similar column in some table user won't use prod_id or something
> similar with different attributes, they can just select 'product_id'
> from central list. It also saves user from filling all the necessary fields.

Yes, but this will be done in a different task in your schedule, correct?

Yes you are right, I'll start that in coming week.  All that i have done so far is just to populate the central list. In that also, eliminating duplicates, showing appropriate messages while adding/removing column, writing documentation for the new configuration directive still need to be done for this week.
 
> So in my implementation Syncing a table meant: just adding columns with
> unique attributes ( not matching with any other column in central list )
> of that table in the central list.

Please try the case when a column already exists in the central list. In
my test, this column was updated in the central list but it's not always
the best thing to do,
 
Ok. So if a column is already existing and user tries to add same column again, We will show error saying column already exist. If they still want to update, they need to first remove that column and then add ?.

Similarly if a columns has never added and being tried to remove, we show error saying column doesn't exist in central list.
>
> Please let me know if I'm interpreting the problem[0] wrongly.
>
> [0] http://sourceforge.net/p/phpmyadmin/feature-requests/1477/


--
Marc Delisle | phpMyAdmin

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Phpmyadmin-devel mailing list
Phpmyadmin-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel