int collation_id)
throws StandardException
{
boolean is_temporary = (conglomId < 0);
Conglomerate conglom = findConglomerate(conglomId);
if (conglom == null)
{
throw StandardException.newException(
SQLState.AM_NO_SUCH_CONGLOMERATE_DROP, new Long(conglomId));
}
// Get exclusive lock on the table being altered.
ConglomerateController cc =
conglom.open(
this, rawtran, false, OPENMODE_FORUPDATE,
MODE_TABLE,
accessmanager.table_level_policy[
TransactionController.ISOLATION_SERIALIZABLE],
(StaticCompiledOpenConglomInfo) null,
(DynamicCompiledOpenConglomInfo) null);
conglom.addColumn(this, column_id, template_column, collation_id);
// remove the old entry in the Conglomerate directory, and add the
// new one.
if (is_temporary)
{