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 Detail

      • onPrimaryKeyLivenessInfo

        void onPrimaryKeyLivenessInfo​(int i,
                                      Clustering<?> clustering,
                                      LivenessInfo merged,
                                      LivenessInfo original)
        Called for the row primary key liveness info of input i.
        Parameters:
        i - the input row from which original is from.
        clustering - the clustering for the row that is merged.
        merged - the primary key liveness info of the merged row. Will be null if input i had a LivenessInfo, but the merged result don't (i.e. the original info has been shadowed/deleted).
        original - the primary key liveness info of input i. May be null if input i has not primary key liveness info (i.e. it has LivenessInfo.NONE) but the merged result has.
      • onDeletion

        void onDeletion​(int i,
                        Clustering<?> clustering,
                        Row.Deletion merged,
                        Row.Deletion original)
        Called for the row deletion of input i.
        Parameters:
        i - the input row from which original is from.
        clustering - the clustering for the row that is merged.
        merged - the deletion of the merged row. Will be null if input i had deletion but the merged result doesn't (i.e. the deletion has been shadowed).
        original - the deletion of input i. May be null if input i had 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 input i.
        Parameters:
        i - the input row from which original is 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 be null if input i had a complex deletion for column but the merged result doesn't (i.e. the deletion has been shadowed).
        original - the complex deletion of input i for column column. May be null if input i had no complex deletion but the merged row has.
      • onCell

        void onCell​(int i,
                    Clustering<?> clustering,
                    Cell<?> merged,
                    Cell<?> original)
        Called for any cell that is either in the merged row or in input i.
        Parameters:
        i - the input row from which original is from.
        clustering - the clustering for the row that is merged.
        merged - the cell of the merged row. Will be null if input i had a cell but that cell is no present in the merged result (it has been deleted/shadowed).
        original - the cell of input i. May be null if input i had cell corresponding to merged.