9.2 Scrollingresultset Interface

ORIGIN 'betadbc';
BODY 'private/scrollingresultsetbody';
-- connectionLib: Attributes --
scrollingResultSet:
(* A scrolling resultSet supports relative and absolute
 * positioning in the tuples of a resultSet.
 * Fetch and scan *cannot* be used on a 'scrollingResultSet' if
 * the methods defined in scrollingResultSet has been used on
 * a result.
 *) resultSet
  (#
     fetchFirst:
     (* Fetches the first tuple in the resultSet.
      * Advances current tuple, if possible.
      * Current will be EOT if the resultSet is empty *)
       (# result: ^tuple
       ...
       exit result[]
       #);
     fetchLast:
     (* Fetches the last tuple in the resultSet.
      * Current will be EOT if the resultSet is empty *)
       (# result: ^tuple
       ...
       exit result[]
       #);
     fetchNext:
     (* Fetch next tuple in the resultSet.
      * Advance current tuple.
      * Equivalent to 'fetch''
      *)
       (# result: ^tuple
       ...
       exit result[]
       #);
     fetchPrior:
     (* Fetch prior tuple in the resultSet
      * Deadvance current tuple.
      *)
       (# result: ^tuple
       ...
       exit result[]
       #);
     fetchRelative:
     (* Fetches tuple number 'increment' counting from the current tuple
      * If increment is > 0, the current tuple is advanced, if increment is < 0, 
      * the current tuple is deadvanced 
      * Current will be EOT if the operation is not meaningful *)
       (# increment: @integer; result: ^tuple
       enter increment
       ...
       exit result[]
       #);
     fetchAbsolute:
     (* Positions current at absolute position 'index'
      * If index > 0 then index is counted from start.
      * If index < 0 then index is counted from end,
      *)
       (# index: @integer; result: ^tuple
       enter index
       ...
       exit result[]
       #);
     scanReverse:
     (* Like 'scan' except that tuples are scanned in reverse order *)
       (#
          current: ^tuple;
          varNotDeclared:<
          (* Raised if variable used in the entered 
           * pattern was not found *) exception
            (# name: ^text
            enter name[]
            ...
            #);
          columnNotFound:<
          (* Raised if this is a named scan and 
           * named column was not found *) exception
            (# name: ^text
            enter name[]
            ...
            #);
          pattern: ^text
       enter pattern[]
       ...
       #);
     scrollingResultSetException:< BetaDBCException;
     scrollingResultSetNotification:< BetaDBCNotification
  #);
scrollingCursorsSupported: booleanValue
(* Returns true if this(connection) supports scrolling cursors *)
  (#  ... #)


9.2 Scrollingresultset Interface
© 1999-2004 Mjølner Informatics
[Modified: Thursday October 7th 1999 at 21:21]