Optimizing State Information PassingThe DATABridge Client optimizes the process of updating the stateinfo in the DATASETS client control table, which is identical for all data sets that are in update tracking mode (ds_mode=2). Instead of updating every data set each time the stateinfo is updated by DBEngine prior to a COMMIT, it stores the common information in a dummy data set in the DATASETS table named Global_DataSet. When the DATABridge Client is finished processing updates, the stateinfo in the Global_DataSet entry in the DATASETS client control table is copied to all data sets that need to be updated with the stateinfo. The Global_DataSet row is stored in the DATASETS client control table along with the in_sync column that keeps track of stateinfo synchronization between updated data sets and the Global_DataSet. This significantly reduces the number of SQL update statements for the DATASETS client control table when you have a large number of data sets. To keep the DATASETS table somewhat current, particularly when using DATABridge Plus, the DATABridge Client copies the stateinfo in the Global_DataSet entry to all data sets whose in_sync column is 1 after an audit file switch. When the Client is restarted after it abends, it detects the fact that the data sets are out of sync. The Client corrects this situation by copying the global stateinfo to all data sets whose in_sync column is 1 and setting all of the in_sync columns to 0. | ||
|