rs_non_blocking_commit_flush System Function

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.

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’