Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Section
Column
width5%

 

Column
width95
Panel
bgColorCCC
dbvrep> SET_CONFLICT_HANDLERS FOR TABLE SCOTT.AVI_OBJECTS FOR UPDATE ON NO_DATA TO OVERWRITE
Note

Source tablename is used while setting conflict handlers.

To show what the conflict handler has been set to:

Section
Column
width5%

 

Column
width95
Panel
bgColorCCC
dbvrep> show_conflict_handlers for table scott.avi_objects 
The table called SCOTT.AVI_OBJECTS on source is handled on apply as follows:
UPDATE (error): handler: RETRY logging: LOG
UPDATE (no_data): handler: OVERWRITE logging: LOG
UPDATE (too_many): handler: OVERWRITE logging: LOG
DELETE (error): handler: RETRY logging: LOG
DELETE (no_data): handler: RETRY logging: LOG
DELETE (too_many): handler: RETRY logging: LOG
INSERT (error): handler: RETRY logging: LOG
TRANSACTION (error): handler: RETRY logging: LOG
 
Info

Note that previous versions used the DATA handler instead of NO_DATA and TOO_MANY. For compatibility reasons, this is still supported - specifying DATA handler sets both NO_DATA and TOO_MANY handlers.

For 2.3.18 and before: Note that the handler is executed AFTER the conflicting statement was run and thus any changes done by the statement are still in effect. This is important to consider especially for TOO_MANY handler.

For 2.3.20 and later: For TOO_MANY error, the conflicting statement is rolled back before retry etc. This brings a new conflict resolution: FORCE. While FORCE keeps the effect of the conflicted statement (multiple rows changed), IGNORE/DISCARD rolls the statament back and thus no change is applied.