Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The BASIC+ logic that generates a resolved list looks something like this:

 

Code Block
SELECT "FILENAME" BY "FIELD1" SETTING 0 ELSE
  CALL MSG(@window, "Select failed with status ":STATUS())
  RETURN 0
END
* resolved list now available
* (no BFS access required)
DONE = 0
LOOP
READNEXT @ID ELSE DONE = 1
UNTIL DONE DO
(etc.)
REPEAT

 

...

In order to resolve the select list, the special SELECT processor must examine each record in the file (or index). As a result, SELECT ... BY generates a series of filing system calls. In effect, the single BASIC+ SELECT statement compresses an entire SELECT ... READNEXT ... READ loop into a single statement, examining each record in the file.

...