}
@Override
public void alterSequence(Session session, TableName sequenceName, Sequence newDefinition) {
AkibanInformationSchema oldAIS = getAISForChange(session);
Sequence oldSequence = oldAIS.getSequence(sequenceName);
if(oldSequence == null) {
throw new NoSuchSequenceException(sequenceName);
}
if(!sequenceName.equals(newDefinition.getSequenceName())) {
throw new UnsupportedOperationException("Renaming Sequence");
}
AkibanInformationSchema newAIS = aisCloner.clone(oldAIS);
newAIS.removeSequence(sequenceName);
Sequence newSequence = Sequence.create(newAIS, newDefinition);
storageFormatRegistry.finishStorageDescription(newSequence, getNameGenerator(session));
// newAIS may have mixed references to sequenceName. Re-clone to resolve.
newAIS = aisCloner.clone(newAIS);