in harry-core/src/harry/reconciler/PartitionState.java [178:201]
public void deleteColumns(long lts, Reconciler.RowState state, int columnOffset, harry.util.BitSet columns, BitSet mask)
{
if (state == null)
return;
//TODO: optimise by iterating over the columns that were removed by this deletion
//TODO: optimise final decision to fully remove the column by counting a number of set/unset columns
boolean allNil = true;
for (int i = 0; i < state.vds.length; i++)
{
if (columns.isSet(columnOffset + i, mask))
{
state.vds[i] = NIL_DESCR;
state.lts[i] = NO_TIMESTAMP;
}
else if (state.vds[i] != NIL_DESCR)
{
allNil = false;
}
}
if (state.cd != Reconciler.STATIC_CLUSTERING && allNil & !state.hasPrimaryKeyLivenessInfo)
delete(state.cd, lts);
}