An application can send commands, which are unrelated to the original cursor, on a separate command structure while fetching the rows from the original cursor.
For example, the application might issue a select or an update based on the cursor data. In this case, the application must completely process the results of the new command before fetching the next cursor row. The application could also open a new cursor. In this case, the new cursor must be opened and its command handle must be ready to return cursor rows before the application can perform another operation on the original cursor.