The system function names — rs_set_non_blocking_commit and rs_set_non_blocking_commit_flush documented in Chapter 4, “Replication Server System Functions” have been renamed. The corrected system function names are, as follows:
rs_non_blocking_commit
rs_non_blocking_commit_flush
Requests data servers to immediately send a positive response to a COMMIT statement without waiting for transactions to be written to disk.
rs_non_blocking_commit has function-string-class scope.
rs_non_blocking_commit executes every time DSI connects to the replicate data server when 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 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.
Replication Server with non-blocking commit enabled, supports replication into Oracle 10gV2 or later because Oracle 10g v2 supports functionality similar to delayed commit.
Replication Server 15.2 heterogeneous datatype support (HDS) scripts have new function strings that support the non-blocking commit feature. Sybase Enterprise Connect Data Access for Oracle supports these function strings. See the Replication Server Options 15.1 Overview Guide.
rs_non_blocking_commit_flush
Sends an insert, delete, or update command to the data servers so that transactions that were sent through a connection configured with rs_ non_blocking_commit are saved to disk.
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’
rs_non_blocking_commit_flush has function-string-class scope.
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_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.
Replication Server with non-blocking commit enabled, supports replication into Oracle 10gV2 or later because Oracle 10g v2 supports functionality similar to delayed commit.
Replication Server 15.2 heterogeneous datatype support (HDS) scripts have new function strings that support the non-blocking commit feature. Sybase Enterprise Connect Data Access for Oracle supports these function strings. See the Replication Server Options 15.1 Overview Guide.
rs_non_blocking_commit