@Deprecated public static Deletion shadowable(DeletionTime time) { return new Deletion(time, true); }
Row.Deletion rowDeletion = existing.deletion().supersedes(update.deletion()) ? existing.deletion() : update.deletion(); if (rowDeletion.deletes(mergedInfo)) mergedInfo = LivenessInfo.EMPTY; else if (rowDeletion.isShadowedBy(mergedInfo)) rowDeletion = Row.Deletion.LIVE; builder.addRowDeletion(rowDeletion); DeletionTime deletion = rowDeletion.time();
public void digest(MessageDigest digest, Set<ByteBuffer> columnsToExclude) { FBUtilities.updateWithByte(digest, kind().ordinal()); clustering().digest(digest); deletion().digest(digest); primaryKeyLivenessInfo().digest(digest); for (ColumnData cd : this) if (!columnsToExclude.contains(cd.column.name.bytes)) cd.digest(digest); }
Row.Deletion rowDeletion = existing.deletion().supersedes(update.deletion()) ? existing.deletion() : update.deletion(); if (rowDeletion.deletes(mergedInfo)) mergedInfo = LivenessInfo.EMPTY; else if (rowDeletion.isShadowedBy(mergedInfo)) rowDeletion = Row.Deletion.LIVE; builder.addRowDeletion(rowDeletion); DeletionTime deletion = rowDeletion.time();
builder.addRowDeletion(hasDeletion ? new Row.Deletion(header.readDeletionTime(in), deletionIsShadowable) : Row.Deletion.LIVE);
Row.Deletion rowDeletion = existing.deletion().supersedes(update.deletion()) ? existing.deletion() : update.deletion(); if (rowDeletion.deletes(mergedInfo)) mergedInfo = LivenessInfo.EMPTY; else if (rowDeletion.isShadowedBy(mergedInfo)) rowDeletion = Row.Deletion.LIVE; builder.addRowDeletion(rowDeletion); DeletionTime deletion = rowDeletion.time();
Row.Deletion rowDeletion = existing.deletion().supersedes(update.deletion()) ? existing.deletion() : update.deletion(); if (rowDeletion.deletes(mergedInfo)) mergedInfo = LivenessInfo.EMPTY; else if (rowDeletion.isShadowedBy(mergedInfo)) rowDeletion = Row.Deletion.LIVE; builder.addRowDeletion(rowDeletion); DeletionTime deletion = rowDeletion.time();
if (pkLiveness.isExpiring()) flags |= HAS_TTL; if (!deletion.isLive()) if (deletion.isShadowable()) extendedFlags |= HAS_SHADOWABLE_DELETION;
if (pkLiveness.isExpiring()) flags |= HAS_TTL; if (!deletion.isLive()) if (deletion.isShadowable()) extendedFlags |= HAS_SHADOWABLE_DELETION;
Deletion deletion = new Row.Deletion(header.readDeletionTime(in), deletionIsShadowable); in.seek(nextPosition); return BTreeRow.emptyDeletedRow(clustering, deletion);
if (pkLiveness.isExpiring()) flags |= HAS_TTL; if (!deletion.isLive()) if (deletion.isShadowable()) extendedFlags |= HAS_SHADOWABLE_DELETION;
if (pkLiveness.isExpiring()) flags |= HAS_TTL; if (!deletion.isLive()) if (deletion.isShadowable()) extendedFlags |= HAS_SHADOWABLE_DELETION;
Deletion deletion = new Row.Deletion(header.readDeletionTime(in), deletionIsShadowable); in.seek(nextPosition); return BTreeRow.emptyDeletedRow(clustering, deletion);
Deletion deletion = new Row.Deletion(header.readDeletionTime(in), deletionIsShadowable); in.seek(nextPosition); return BTreeRow.emptyDeletedRow(clustering, deletion);
Deletion deletion = new Row.Deletion(header.readDeletionTime(in), deletionIsShadowable); in.seek(nextPosition); return BTreeRow.emptyDeletedRow(clustering, deletion);
if (row.deletion().supersedes(rowDeletion)) rowDeletion = row.deletion(); if (rowDeletion.isShadowedBy(rowInfo)) rowDeletion = Deletion.LIVE; if (rowDeletion.supersedes(activeDeletion)) activeDeletion = rowDeletion.time(); else rowDeletion = Deletion.LIVE; return rowInfo.isEmpty() && rowDeletion.isLive() && dataBuffer.isEmpty() ? null : BTreeRow.create(clustering, rowInfo, rowDeletion, BTree.build(dataBuffer, UpdateFunction.<ColumnData>noOp()));
if (row.deletion().supersedes(rowDeletion)) rowDeletion = row.deletion(); if (rowDeletion.isShadowedBy(rowInfo)) rowDeletion = Deletion.LIVE; if (rowDeletion.supersedes(activeDeletion)) activeDeletion = rowDeletion.time(); else rowDeletion = Deletion.LIVE; return rowInfo.isEmpty() && rowDeletion.isLive() && dataBuffer.isEmpty() ? null : BTreeRow.create(clustering, rowInfo, rowDeletion, BTree.build(dataBuffer, UpdateFunction.<ColumnData>noOp()));
if (row.deletion().supersedes(rowDeletion)) rowDeletion = row.deletion(); if (rowDeletion.isShadowedBy(rowInfo)) rowDeletion = Deletion.LIVE; if (rowDeletion.supersedes(activeDeletion)) activeDeletion = rowDeletion.time(); else rowDeletion = Deletion.LIVE; return rowInfo.isEmpty() && rowDeletion.isLive() && dataBuffer.isEmpty() ? null : BTreeRow.create(clustering, rowInfo, rowDeletion, BTree.build(dataBuffer, UpdateFunction.<ColumnData>noOp()));
if (row.deletion().supersedes(rowDeletion)) rowDeletion = row.deletion(); if (rowDeletion.isShadowedBy(rowInfo)) rowDeletion = Deletion.LIVE; if (rowDeletion.supersedes(activeDeletion)) activeDeletion = rowDeletion.time(); else rowDeletion = Deletion.LIVE; return rowInfo.isEmpty() && rowDeletion.isLive() && dataBuffer.isEmpty() ? null : BTreeRow.create(clustering, rowInfo, rowDeletion, BTree.build(dataBuffer, UpdateFunction.<ColumnData>noOp()));
public Row build() { if (!isSorted) getCells().sort(); // we can avoid resolving if we're sorted and have no complex values // (because we'll only have unique simple cells, which are already in their final condition) if (!isSorted | hasComplex) getCells().resolve(resolver); Object[] btree = getCells().build(); if (deletion.isShadowedBy(primaryKeyLivenessInfo)) deletion = Deletion.LIVE; int minDeletionTime = minDeletionTime(btree, primaryKeyLivenessInfo, deletion.time()); Row row = BTreeRow.create(clustering, primaryKeyLivenessInfo, deletion, btree, minDeletionTime); reset(); return row; } }