private Collection<Mutation> buildNext() { while (updatesIter.hasNext()) { Unfiltered update = updatesIter.next(); // If it's a range tombstone, it removes nothing pre-exisiting, so we can ignore it for view updates if (update.isRangeTombstoneMarker()) continue; Row updateRow = (Row) update; addToViewUpdateGenerators(emptyRow(updateRow.clustering(), existingsDeletion.currentDeletion()), updateRow, generators, nowInSec); // If the updates have been filtered, then we won't have any mutations; we need to make sure that we // only return if the mutations are empty. Otherwise, we continue to search for an update which is // not filtered Collection<Mutation> mutations = buildMutations(baseTableMetadata, generators); if (!mutations.isEmpty()) return mutations; } return null; }
private Collection<Mutation> buildNext() { while (updatesIter.hasNext()) { Unfiltered update = updatesIter.next(); // If it's a range tombstone, it removes nothing pre-exisiting, so we can ignore it for view updates if (update.isRangeTombstoneMarker()) continue; Row updateRow = (Row) update; addToViewUpdateGenerators(emptyRow(updateRow.clustering(), existingsDeletion.currentDeletion()), updateRow, generators, nowInSec); // If the updates have been filtered, then we won't have any mutations; we need to make sure that we // only return if the mutations are empty. Otherwise, we continue to search for an update which is // not filtered Collection<Mutation> mutations = buildMutations(baseTableMetadata, generators); if (!mutations.isEmpty()) return mutations; } return null; }
private Collection<Mutation> buildNext() { while (updatesIter.hasNext()) { Unfiltered update = updatesIter.next(); // If it's a range tombstone, it removes nothing pre-exisiting, so we can ignore it for view updates if (update.isRangeTombstoneMarker()) continue; Row updateRow = (Row) update; addToViewUpdateGenerators(emptyRow(updateRow.clustering(), existingsDeletion.currentDeletion()), updateRow, generators, nowInSec); // If the updates have been filtered, then we won't have any mutations; we need to make sure that we // only return if the mutations are empty. Otherwise, we continue to search for an update which is // not filtered Collection<Mutation> mutations = buildMutations(baseTableMetadata, generators); if (!mutations.isEmpty()) return mutations; } return null; }
protected Unfiltered computeNext() { while (true) { Unfiltered unfiltered = super.computeNext(); if (unfiltered == null || unfiltered.isRangeTombstoneMarker()) return unfiltered; Row row = (Row) unfiltered; if (!row.deletion().isLive()) return BTreeRow.emptyDeletedRow(row.clustering(), row.deletion()); // Otherwise read next. } }
protected Unfiltered computeNext() { while (true) { Unfiltered unfiltered = super.computeNext(); if (unfiltered == null || unfiltered.isRangeTombstoneMarker()) return unfiltered; Row row = (Row) unfiltered; if (!row.deletion().isLive()) return BTreeRow.emptyDeletedRow(row.clustering(), row.deletion()); // Otherwise read next. } }
protected Unfiltered computeNext() { while (true) { Unfiltered unfiltered = super.computeNext(); if (unfiltered == null || unfiltered.isRangeTombstoneMarker()) return unfiltered; Row row = (Row) unfiltered; if (!row.deletion().isLive()) return BTreeRow.emptyDeletedRow(row.clustering(), row.deletion()); // Otherwise read next. } }
protected Unfiltered computeNext() { while (true) { Unfiltered unfiltered = super.computeNext(); if (unfiltered == null || unfiltered.isRangeTombstoneMarker()) return unfiltered; Row row = (Row) unfiltered; if (!row.deletion().isLive()) return BTreeRow.emptyDeletedRow(row.clustering(), row.deletion()); // Otherwise read next. } }
assert unfilteredRow.isRangeTombstoneMarker(); RangeTombstoneMarker marker = (RangeTombstoneMarker) unfilteredRow; deletionBuilder.add(marker);
assert unfilteredRow.isRangeTombstoneMarker(); RangeTombstoneMarker marker = (RangeTombstoneMarker) unfilteredRow; deletionBuilder.add(marker);
assert unfilteredRow.isRangeTombstoneMarker(); RangeTombstoneMarker marker = (RangeTombstoneMarker) unfilteredRow; deletionBuilder.add(marker);
if (update.isRangeTombstoneMarker()) if (existing.isRangeTombstoneMarker()) if (update.isRangeTombstoneMarker()) assert existing.isRangeTombstoneMarker(); updatesDeletion.update(updatesIter.next()); existingsDeletion.update(existingsIter.next()); assert !existing.isRangeTombstoneMarker(); existingRow = ((Row)existingsIter.next()).withRowDeletion(existingsDeletion.currentDeletion()); updateRow = ((Row)updatesIter.next()).withRowDeletion(updatesDeletion.currentDeletion()); if (existing.isRangeTombstoneMarker()) continue; if (update.isRangeTombstoneMarker()) continue;
if (update.isRangeTombstoneMarker()) if (existing.isRangeTombstoneMarker()) if (update.isRangeTombstoneMarker()) assert existing.isRangeTombstoneMarker(); updatesDeletion.update(updatesIter.next()); existingsDeletion.update(existingsIter.next()); assert !existing.isRangeTombstoneMarker(); existingRow = ((Row)existingsIter.next()).withRowDeletion(existingsDeletion.currentDeletion()); updateRow = ((Row)updatesIter.next()).withRowDeletion(updatesDeletion.currentDeletion()); if (existing.isRangeTombstoneMarker()) continue; if (update.isRangeTombstoneMarker()) continue;
if (update.isRangeTombstoneMarker()) if (existing.isRangeTombstoneMarker()) if (update.isRangeTombstoneMarker()) assert existing.isRangeTombstoneMarker(); updatesDeletion.update(updatesIter.next()); existingsDeletion.update(existingsIter.next()); assert !existing.isRangeTombstoneMarker(); existingRow = ((Row)existingsIter.next()).withRowDeletion(existingsDeletion.currentDeletion()); updateRow = ((Row)updatesIter.next()).withRowDeletion(updatesDeletion.currentDeletion()); if (existing.isRangeTombstoneMarker()) continue; if (update.isRangeTombstoneMarker()) continue;
if (tombNext.isRangeTombstoneMarker())
if (tombNext.isRangeTombstoneMarker())
if (unfiltered.isRangeTombstoneMarker()) updateOpenMarker((RangeTombstoneMarker)unfiltered);
if (unfiltered.isRangeTombstoneMarker()) updateOpenMarker((RangeTombstoneMarker)unfiltered);
if (unfiltered.isRangeTombstoneMarker()) updateOpenMarker((RangeTombstoneMarker)unfiltered);