@Override public DeletingIterator deepCopy(IteratorEnvironment env) { return new DeletingIterator(this, env); }
public static SortedKeyValueIterator<Key,Value> wrap(SortedKeyValueIterator<Key,Value> source, boolean propogateDeletes, Behavior behavior) { switch (behavior) { case PROCESS: return new DeletingIterator(source, propogateDeletes); case FAIL: return new ServerWrappingIterator(source) { @Override public Key getTopKey() { Key top = source.getTopKey(); if (top.isDeleted()) { throw new IllegalStateException("Saw unexpected delete " + top); } return top; } }; default: throw new IllegalArgumentException("Unknown behavior " + behavior); } }
@Override public DeletingIterator deepCopy(IteratorEnvironment env) { return new DeletingIterator(this, env); }
private static SortedKeyValueIterator<Key,Value> createScanIterator(KeyExtent ke, Collection<SortedKeyValueIterator<Key,Value>> mapfiles, Authorizations authorizations, byte[] defaultLabels, HashSet<Column> columnSet, List<IterInfo> ssiList, Map<String,Map<String,String>> ssio, boolean useTableIterators, TableConfiguration conf) throws IOException { SortedMapIterator smi = new SortedMapIterator(new TreeMap<Key,Value>()); List<SortedKeyValueIterator<Key,Value>> iters = new ArrayList<>(mapfiles.size() + 1); iters.addAll(mapfiles); iters.add(smi); MultiIterator multiIter = new MultiIterator(iters, ke); DeletingIterator delIter = new DeletingIterator(multiIter, false); ColumnFamilySkippingIterator cfsi = new ColumnFamilySkippingIterator(delIter); SortedKeyValueIterator<Key,Value> colFilter = ColumnQualifierFilter.wrap(cfsi, columnSet); SortedKeyValueIterator<Key,Value> visFilter = VisibilityFilter.wrap(colFilter, authorizations, defaultLabels); if (useTableIterators) return IteratorUtil.loadIterators(IteratorScope.scan, visFilter, ke, conf, ssiList, ssio, null); return visFilter; }
public static SortedKeyValueIterator<Key,Value> setupSystemScanIterators( SortedKeyValueIterator<Key,Value> source, Set<Column> cols, Authorizations auths, byte[] defaultVisibility) throws IOException { DeletingIterator delIter = new DeletingIterator(source, false); ColumnFamilySkippingIterator cfsi = new ColumnFamilySkippingIterator(delIter); ColumnQualifierFilter colFilter = new ColumnQualifierFilter(cfsi, cols); return VisibilityFilter.wrap(colFilter, auths, defaultVisibility); } }
public SortedKeyValueIterator<Key,Value> createFilter(SortedKeyValueIterator<Key,Value> inner) throws IOException { byte[] defaultLabels = {}; inner = new ColumnFamilySkippingIterator(new DeletingIterator(inner, false)); SortedKeyValueIterator<Key,Value> cqf = ColumnQualifierFilter.wrap(inner, new HashSet<>(fetchedColumns)); SortedKeyValueIterator<Key,Value> vf = VisibilityFilter.wrap(cqf, auths, defaultLabels); AccumuloConfiguration conf = new MockConfiguration(table.settings); MockIteratorEnvironment iterEnv = new MockIteratorEnvironment(auths); SortedKeyValueIterator<Key,Value> result = iterEnv .getTopLevelIterator(IteratorUtil.loadIterators(IteratorScope.scan, vf, null, conf, serverSideIteratorList, serverSideIteratorOptions, iterEnv, false)); return result; }
private SortedKeyValueIterator<Key,Value> createSystemIter(Range r, List<SortedKeyValueIterator<Key,Value>> readers, HashSet<Column> columns) throws IOException { MultiIterator multiIterator = new MultiIterator(readers, false); DeletingIterator delIter = new DeletingIterator(multiIterator, false); ColumnFamilySkippingIterator cfsi = new ColumnFamilySkippingIterator(delIter); ColumnQualifierFilter colFilter = new ColumnQualifierFilter(cfsi, columns); VisibilityFilter visFilter = new VisibilityFilter(colFilter, Constants.NO_AUTHS, new byte[0]); visFilter.seek(r, LocalityGroupUtil.EMPTY_CF_SET, false); VersioningIterator vi = new VersioningIterator(); Map<String,String> opts = new HashMap<String,String>(); opts.put("maxVersions", "1"); vi.init(visFilter, opts, null); return vi; }
topIter = new DeletingIterator(topIter, false);
DeletingIterator delIter = new DeletingIterator(statsIterator, false);
DeletingIterator delIter = new DeletingIterator(citr, propogateDeletes); ColumnFamilySkippingIterator cfsi = new ColumnFamilySkippingIterator(delIter);
DeletingIterator delIter = new DeletingIterator(citr, propogateDeletes); ColumnFamilySkippingIterator cfsi = new ColumnFamilySkippingIterator(delIter);