public ComplexColumnData filter(ColumnFilter filter, DeletionTime activeDeletion, CFMetaData.DroppedColumn dropped, LivenessInfo rowLiveness) { ColumnFilter.Tester cellTester = filter.newTester(column); if (cellTester == null && activeDeletion.isLive() && dropped == null) return this; DeletionTime newDeletion = activeDeletion.supersedes(complexDeletion) ? DeletionTime.LIVE : complexDeletion; return transformAndFilter(newDeletion, (cell) -> { boolean isForDropped = dropped != null && cell.timestamp() <= dropped.droppedTime; boolean isShadowed = activeDeletion.deletes(cell); boolean isSkippable = cellTester != null && (!cellTester.fetches(cell.path()) || (!cellTester.fetchedCellIsQueried(cell.path()) && cell.timestamp() < rowLiveness.timestamp())); return isForDropped || isShadowed || isSkippable ? null : cell; }); }
public ComplexColumnData filter(ColumnFilter filter, DeletionTime activeDeletion, CFMetaData.DroppedColumn dropped, LivenessInfo rowLiveness) { ColumnFilter.Tester cellTester = filter.newTester(column); if (cellTester == null && activeDeletion.isLive() && dropped == null) return this; DeletionTime newDeletion = activeDeletion.supersedes(complexDeletion) ? DeletionTime.LIVE : complexDeletion; return transformAndFilter(newDeletion, (cell) -> { boolean isForDropped = dropped != null && cell.timestamp() <= dropped.droppedTime; boolean isShadowed = activeDeletion.deletes(cell); boolean isSkippable = cellTester != null && (!cellTester.fetches(cell.path()) || (!cellTester.fetchedCellIsQueried(cell.path()) && cell.timestamp() < rowLiveness.timestamp())); return isForDropped || isShadowed || isSkippable ? null : cell; }); }
public ComplexColumnData filter(ColumnFilter filter, DeletionTime activeDeletion, CFMetaData.DroppedColumn dropped, LivenessInfo rowLiveness) { ColumnFilter.Tester cellTester = filter.newTester(column); if (cellTester == null && activeDeletion.isLive() && dropped == null) return this; DeletionTime newDeletion = activeDeletion.supersedes(complexDeletion) ? DeletionTime.LIVE : complexDeletion; return transformAndFilter(newDeletion, (cell) -> { boolean isForDropped = dropped != null && cell.timestamp() <= dropped.droppedTime; boolean isShadowed = activeDeletion.deletes(cell); boolean isSkippable = cellTester != null && (!cellTester.fetches(cell.path()) || (!cellTester.fetchedCellIsQueried(cell.path()) && cell.timestamp() < rowLiveness.timestamp())); return isForDropped || isShadowed || isSkippable ? null : cell; }); }
public boolean includes(CellPath path) { return path == null || tester == null || tester.fetches(path); }
public boolean includes(CellPath path) { return path == null || tester == null || tester.fetches(path); }
public boolean includes(CellPath path) { return path == null || tester == null || tester.fetches(path); }
public ComplexColumnData filter(ColumnFilter filter, DeletionTime activeDeletion, CFMetaData.DroppedColumn dropped, LivenessInfo rowLiveness) { ColumnFilter.Tester cellTester = filter.newTester(column); if (cellTester == null && activeDeletion.isLive() && dropped == null) return this; DeletionTime newDeletion = activeDeletion.supersedes(complexDeletion) ? DeletionTime.LIVE : complexDeletion; return transformAndFilter(newDeletion, (cell) -> { boolean isForDropped = dropped != null && cell.timestamp() <= dropped.droppedTime; boolean isShadowed = activeDeletion.deletes(cell); boolean isSkippable = cellTester != null && (!cellTester.fetches(cell.path()) || (!cellTester.fetchedCellIsQueried(cell.path()) && cell.timestamp() < rowLiveness.timestamp())); return isForDropped || isShadowed || isSkippable ? null : cell; }); }
public boolean includes(CellPath path) { return path == null || tester == null || tester.fetches(path); }