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:
|
Column type [CHAR(1)] |
|
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. |