// SYSCOLUMNS and immediately re-added with a different
// column position (to account for the dropped column).
// In this case, the autoincValue may have a
// different value than the autoincStart.
row.setColumn(SYSCOLUMNS_AUTOINCREMENTVALUE,
new SQLLongint(autoincValue));
row.setColumn(SYSCOLUMNS_AUTOINCREMENTSTART,
new SQLLongint(autoincStart));
row.setColumn(SYSCOLUMNS_AUTOINCREMENTINC,
new SQLLongint(autoincInc));
} else if (autoinc_create_or_modify_Start_Increment == ColumnDefinitionNode.MODIFY_AUTOINCREMENT_RESTART_VALUE)
{//user asked for restart with a new value, so don't change increment by and original start
//with values in the SYSCOLUMNS table. Just record the RESTART WITH value as the
//next value to be generated in the SYSCOLUMNS table
ColumnDescriptor column = (ColumnDescriptor)td;
row.setColumn(SYSCOLUMNS_AUTOINCREMENTVALUE, new SQLLongint(autoincStart));
row.setColumn(SYSCOLUMNS_AUTOINCREMENTSTART, new SQLLongint(autoincStart));
row.setColumn(SYSCOLUMNS_AUTOINCREMENTINC, new SQLLongint(
column.getTableDescriptor().getColumnDescriptor(colName).getAutoincInc()));
}
else
{
row.setColumn(SYSCOLUMNS_AUTOINCREMENTVALUE,
new SQLLongint());
row.setColumn(SYSCOLUMNS_AUTOINCREMENTSTART,
new SQLLongint());
row.setColumn(SYSCOLUMNS_AUTOINCREMENTINC,
new SQLLongint());
}
return row;
}