Interface MergeRowChangeProcessor

All Known Implementing Classes:
ChangeOnlyUpdatedColumnsMergeProcessor, DeleteAndInsertMergeProcessor

public interface MergeRowChangeProcessor
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
  • Method Summary

    Modifier and Type
    Method
    Description
    transformPage(Page inputPage)
    Transform a page generated by an SQL MERGE operation into page of data columns and operations.
  • Field Details

    • DEFAULT_CASE_OPERATION_NUMBER

      static final int DEFAULT_CASE_OPERATION_NUMBER
      See Also:
  • Method Details

    • transformPage

      Page transformPage(Page inputPage)
      Transform a page generated by an SQL MERGE operation into page of data columns and operations. The SQL MERGE input page consists of the following:
      • The write redistribution columns, if any
      • For partitioned or bucketed tables, a hash value column
      • The rowId column for the row from the target table if matched, or null if not matched
      • The merge case row block
      The output page consists of the following:
      • All data columns, in table column order
      • The operation block
      • The rowId block
      • The last column in the resulting page is 1 if the row is an insert derived from an update, and zero otherwise.

      The DeleteAndInsertMergeProcessor implementation will transform each UPDATE row into multiple rows: an INSERT row and a DELETE row.