System functions that support non-blocking commit

rs_set_non_blocking_commit and rs_set_non_blocking_commit_flush are now renamed as:


rs_non_blocking_commit

rs_non_blocking_commit executes every time DSI connects to the replicate data server, if the dsi_non_blocking_commit value is from 1 to 60. If the value of dsi_non_blocking_commit is zero, rs_non_blocking_commit does not execute.

rs_non_blocking_commit has function-string class scope.

rs_non_blocking_commit function maps to the “set delayed_commit on” function string in Adaptive Server 15.0 and later, and to the corresponding “alter session set commit_write = nowait;” function string in Oracle 10g v2 and later. For all other non-Sybase databases, rs_non_blocking_commit maps to null.


rs_non_blocking_commit_flush

rs_non_blocking_commit_flush executes at intervals equal to any number of minutes from 1 to 60 that you specify with dsi_non_blocking_commit. rs_non_blocking_commit_flush does not execute if the value of dsi_non_blocking_commit is zero.

rs_blocking_commit_flush has function-string class scope.

rs_non_blocking_commit_flush maps to the corresponding function string in Adaptive Server 15.0 and later, and Oracle 10g v2 and later. For all other non-Sybase databases, rs_non_blocking_commit_flush maps to null.

Examples

Example 1 Creates an instance of an rs_non_blocking_commit_flush function string for Adaptive Server:

create function string rs_non_blocking_commit_flush
         for sqlserver_derived_class
         output language
         ‘set delayed_commit off; begin tran; update rs_lastcommit set
         origin_time = getdate() where origin = 0; commit tran; 
         set delayed_commit on’

Example 2 Creates an instance of an rs_non_blocking_commit_flush function string for Oracle:

create function string rs_non_blocking_commit_flush
         for oracle_derived_class
         output language
         ‘alter session set commit_write = immediate; begin tran; 
         update rs_lastcommit set origin_time = getdate() where
         origin = 0; commit tran; alter session set commit_write = nowait’