in hbase-client/src/main/java/org/apache/omid/transaction/TTable.java [474:500]
public ResultScanner getScanner(Transaction tx, Scan scan) throws IOException {
throwExceptionIfOpSetsTimerange(scan);
flushCommits();
HBaseTransaction transaction = enforceHBaseTransactionAsParam(tx);
Scan tsscan = new Scan(scan);
tsscan.readVersions(1);
tsscan.setTimeRange(0, transaction.getReadTimestamp() + 1);
propagateAttributes(scan, tsscan);
Map<byte[], NavigableSet<byte[]>> kvs = scan.getFamilyMap();
for (Map.Entry<byte[], NavigableSet<byte[]>> entry : kvs.entrySet()) {
byte[] family = entry.getKey();
NavigableSet<byte[]> qualifiers = entry.getValue();
if (qualifiers == null) {
continue;
}
for (byte[] qualifier : qualifiers) {
tsscan.addColumn(family, CellUtils.addShadowCellSuffixPrefix(qualifier));
}
if (!qualifiers.isEmpty()) {
tsscan.addColumn(entry.getKey(), CellUtils.FAMILY_DELETE_QUALIFIER);
}
}
return snapshotFilter.getScanner(tsscan, transaction);
}