*
* @return Mutation to use to completely remove cf from schema
*/
public Mutation dropFromSchema(long timestamp)
{
Mutation mutation = new Mutation(Keyspace.SYSTEM_KS, SystemKeyspace.getSchemaKSKey(ksName));
ColumnFamily cf = mutation.addOrGet(SchemaColumnFamiliesCf);
int ldt = (int) (System.currentTimeMillis() / 1000);
Composite prefix = SchemaColumnFamiliesCf.comparator.make(cfName);
cf.addAtom(new RangeTombstone(prefix, prefix.end(), timestamp, ldt));
for (ColumnDefinition cd : allColumns())
cd.deleteFromSchema(mutation, timestamp);
for (TriggerDefinition td : triggers.values())
td.deleteFromSchema(mutation, cfName, timestamp);
for (String indexName : Keyspace.open(this.ksName).getColumnFamilyStore(this.cfName).getBuiltIndexes())
{
ColumnFamily indexCf = mutation.addOrGet(IndexCf);
indexCf.addTombstone(indexCf.getComparator().makeCellName(indexName), ldt, timestamp);
}
return mutation;
}