ColumnDescriptor cd;
SystemColumn[] columns = rowFactory.buildColumnList();
ExecRow templateRow = rowFactory.makeEmptyRow();
int columnCount = newColumnIDs.length;
SchemaDescriptor sd = getSystemSchemaDescriptor();
TableDescriptor td;
long conglomID;
// Special case when adding a column to systables or syscolumns,
// since we can't go to systables/syscolumns to get the
// table/column descriptor until after we add and populate the new column.
if (rowFactory instanceof SYSTABLESRowFactory)
{
td = dataDescriptorGenerator.newTableDescriptor(
"SYSTABLES",
sd,
TableDescriptor.BASE_TABLE_TYPE,
TableDescriptor.ROW_LOCK_GRANULARITY);
td.setUUID(getUUIDForCoreTable("SYSTABLES", sd.getUUID().toString(), tc));
conglomID = coreInfo[SYSTABLES_CORE_NUM].getHeapConglomerate();
}
else if (rowFactory instanceof SYSCOLUMNSRowFactory)
{
td = dataDescriptorGenerator.newTableDescriptor(
"SYSCOLUMNS",
sd,
TableDescriptor.BASE_TABLE_TYPE,
TableDescriptor.ROW_LOCK_GRANULARITY);
td.setUUID(getUUIDForCoreTable("SYSCOLUMNS", sd.getUUID().toString(), tc));
conglomID = coreInfo[SYSCOLUMNS_CORE_NUM].getHeapConglomerate();
}
else
{
td = getTableDescriptor( rowFactory.getCatalogName(), sd, tc );