SPL Conflict Resolution for Large Objects

If the replicate is defined with an SPL conflict-resolution rule, the SPL routine must return the desired action for each smart large object (BLOB or CLOB) and simple large object (BYTE or TEXT) column.

When the routine is invoked, information about each large object column is passed to the routine as five separate fields. The following table describes the fields.
Argument Description
Column size (INTEGER) The size of the column (if data exists for this column). NULL if the column is NULL.
BLOB flag [CHAR(1)] For the local row, the field is always NULL.
For the replicated row:
  • D indicates that the large object data is sent from the source database server.
  • U indicates that the large object data is unchanged on the source database server.
Column type [CHAR(1)]
  • P indicates tblspace data.
  • B indicates blobspace data.
  • S indicates sbspace data.
ID of last update server [CHAR(18)] The ID of the database server that last updated this column for tblspace data.

For blobspace data: NULL

For sbspace data: NULL

Last update time (DATETIME YEAR TO SECOND) For tblspace data: The date and time when the data was last updated.

For blobspace data: NULL

For sbspace data: NULL

If the routine returns an action code of A, D, I, or U, the routine parses the return values of the replicated columns. Each large object column can return a two-character field.

The first character defines the desired option for the large object column, as the following table shows.
Value Function
C Performs a time-stamp check for this column as used by the time-stamp rule.
N Sets the replicate column to NULL.
R Accepts the replicated data as it is received.
L Retains the local data.
The second character defines the desired option for blobspace or sbspace data if the data is found to be undeliverable, as the following table shows.
Value Function
N Sets the replicated column to NULL.
L Retains the local data (default).
O Aborts the row.
X Aborts the transaction.