On Fri, May 23, 2014 at 2:45 AM, Marc Delisle
<marc(a)infomarc.info> wrote:
Le 2014-05-22 15:25, Smita a écrit :
On Thu, May 22, 2014 at 10:44 PM, Marc Delisle
<marc(a)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 ?