Class ScrollInsensitiveResultSet

  • All Implemented Interfaces:
    CursorResultSet, NoPutResultSet, ResultSet, RowLocationRetRowSource, RowSource

    public class ScrollInsensitiveResultSet
    extends NoPutResultSetImpl
    implements CursorResultSet
    Provide insensitive scrolling functionality for the underlying result set. We build a disk backed hash table of rows as the user scrolls forward, with the position as the key. For read-only result sets the hash table will containg the following columns:
      +-------------------------------+
      | KEY                           |
      +-------------------------------+
      | Row                           |
      +-------------------------------+
    
    where key is the position of the row in the result set and row is the data. And for updatable result sets it will contain:
      +-------------------------------+
      | KEY                           | [0]
      +-------------------------------+
      | RowLocation                   | [POS_ROWLOCATION]
      +-------------------------------+
      | Deleted                       | [POS_ROWDELETED]
      +-------------------------------+
      | Updated                       | [POS_ROWUPDATED]
      +-------------------------------+
      | Row                           | [extraColumns ... n]
      +-------------------------------+
    
    where key is the position of the row in the result set, rowLocation is the row location of that row in the Heap, Deleted indicates whether the row has been deleted, Updated indicates whether the row has been updated, and row is the data.