in harry-core/src/harry/corruptor/HideValueCorruptor.java [57:100]
public CompiledStatement corrupt(ResultSetRow row)
{
BitSet mask;
if (row.slts != null && rng.nextBoolean())
{
int cnt = 0;
int idx;
do
{
idx = rng.nextInt(row.slts.length - 1);
cnt++;
}
while (row.slts[idx] == Model.NO_TIMESTAMP && cnt < 10);
if (row.slts[idx] != Model.NO_TIMESTAMP)
{
mask = BitSet.allUnset(schema.allColumns.size());
mask.set(schema.staticColumnsOffset + idx);
return DeleteHelper.deleteColumn(schema,
row.pd,
mask,
schema.regularAndStaticColumnsMask(),
clock.rts(clock.peek()));
}
}
int idx;
do
{
idx = rng.nextInt(row.lts.length - 1);
}
while (row.lts[idx] == Model.NO_TIMESTAMP);
mask = BitSet.allUnset(schema.allColumns.size());
mask.set(schema.regularColumnsOffset + idx);
return DeleteHelper.deleteColumn(schema,
row.pd,
row.cd,
mask,
schema.regularAndStaticColumnsMask(),
clock.rts(clock.peek()));
}