Package org.apache.cassandra.db.rows
Interface RowDiffListener
public interface RowDiffListener
Interface that allows to act on the result of merging multiple rows.
More precisely, given N rows and the result of merging them, one can call
Rows.diff(RowDiffListener, Row, Row...)
with a RowDiffListener and that listener will be informed for each input row of the diff between
that input and merge row.-
Method Summary
Modifier and TypeMethodDescriptionvoidonCell(int i, Clustering<?> clustering, Cell<?> merged, Cell<?> original) Called for any cell that is either in the merged row or in inputi.voidonComplexDeletion(int i, Clustering<?> clustering, ColumnMetadata column, DeletionTime merged, DeletionTime original) Called for every (non-live) complex deletion of any complex column present in either the merged row of inputi.voidonDeletion(int i, Clustering<?> clustering, Row.Deletion merged, Row.Deletion original) Called for the row deletion of inputi.voidonPrimaryKeyLivenessInfo(int i, Clustering<?> clustering, LivenessInfo merged, LivenessInfo original) Called for the row primary key liveness info of inputi.
-
Method Details
-
onPrimaryKeyLivenessInfo
void onPrimaryKeyLivenessInfo(int i, Clustering<?> clustering, LivenessInfo merged, LivenessInfo original) Called for the row primary key liveness info of inputi.- Parameters:
i- the input row from whichoriginalis from.clustering- the clustering for the row that is merged.merged- the primary key liveness info of the merged row. Will benullif inputihad aLivenessInfo, but the merged result don't (i.e. the original info has been shadowed/deleted).original- the primary key liveness info of inputi. May benullif inputihas not primary key liveness info (i.e. it hasLivenessInfo.NONE) but the merged result has.
-
onDeletion
Called for the row deletion of inputi.- Parameters:
i- the input row from whichoriginalis from.clustering- the clustering for the row that is merged.merged- the deletion of the merged row. Will benullif inputihad deletion but the merged result doesn't (i.e. the deletion has been shadowed).original- the deletion of inputi. May benullif inputihad no deletion but the merged row has.
-
onComplexDeletion
void onComplexDeletion(int i, Clustering<?> clustering, ColumnMetadata column, DeletionTime merged, DeletionTime original) Called for every (non-live) complex deletion of any complex column present in either the merged row of inputi.- Parameters:
i- the input row from whichoriginalis from.clustering- the clustering for the row that is merged.column- the column for which this is a complex deletion of.merged- the complex deletion of the merged row. Will benullif inputihad a complex deletion forcolumnbut the merged result doesn't (i.e. the deletion has been shadowed).original- the complex deletion of inputifor columncolumn. May benullif inputihad no complex deletion but the merged row has.
-
onCell
Called for any cell that is either in the merged row or in inputi.- Parameters:
i- the input row from whichoriginalis from.clustering- the clustering for the row that is merged.merged- the cell of the merged row. Will benullif inputihad a cell but that cell is no present in the merged result (it has been deleted/shadowed).original- the cell of inputi. May benullif inputihad cell corresponding tomerged.
-