@Test
public void alterIdentitySequence() {
createTable(SCHEMA, T1_NAME, "id INT NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY");
final Table origTable = getTable(SCHEMA, T1_NAME);
final Sequence origSequence = origTable.getColumn("id").getIdentityGenerator();
final TableName name = origSequence.getSequenceName();
assertNotNull("identity sequence", origSequence);
transactionallyUnchecked(new Runnable()
{
@Override
public void run() {
AkibanInformationSchema ais = new AkibanInformationSchema();
Sequence s = Sequence.create(ais, name.getSchemaName(), name.getTableName(), 5, 6, 2, 20, true);
schemaManager.alterSequence(session(), s.getSequenceName(), s);
}
});
final Table newTable = getTable(SCHEMA, T1_NAME);
final Sequence newSequence = newTable.getColumn("id").getIdentityGenerator();
assertNotNull("has identity sequence after alter", newSequence);
assertEquals("startsWith", 5, newSequence.getStartsWith());
assertEquals("increment", 6, newSequence.getIncrement());
assertEquals("minValue", 2, newSequence.getMinValue());
assertEquals("maxValue", 20, newSequence.getMaxValue());
assertEquals("cycle", true, newSequence.isCycle());
}