Visibility of updates
- Last Updated: August 15, 2021
- 2 minute read
- OpenEdge
- Version 12.2
- Documentation
Visibility of updates
The visibility, from within the Open Client, of an update to the SDOResultSet object depends on whether the update is applied by:
- The Open Client itself
- An external application working on the same data source that feeds the SDOResultSet
The following rules determine the visibility of updates initiated by the Open Client:
- Column updates — Column updates are visible
- Row inserts — New rows are invisible until the ResultSet is reopened
- Row deletion — Row deletions are visible
Updates by external applications typically can occur on the data
source that feeds the SDOResultSet. You can make any such updates
visible to the Open Client application by calling reOpenQuery(),
which refreshes all data in the SDOResultSet. If you do not call reOpenQuery(),
however, the following rules determine the visibility of updates
from external applications:
-
Column updates — The modification of a column by
another application can be made visible by calling the
refreshRow()method. -
Row inserts — Row inserts are not visible in
PREFETCHmode. In other scrolling modes, the visibility is determined by a combination of the underlying implementation of SmartDataObject and the ABL query. The guideline is that the application should not make any assumptions unless it makes an explicit call toreOpenQuery(). -
Row deletion — Row deletions are not visible in
PREFETCHscrolling mode. In other scrolling modes, the visibility is determined by a combination of the underlying implementation of the SmartDataObject and the ABL query. The guideline is that the application should not make any assumptions unless it makes an explicit call torefreshRow()orreOpenQuery(). In these cases, the specific row deletion or all the row deletions become visible, respectively.