-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
This relates closely with PHP-1183, as the default result iterator (which custom iterators might wrap) should be a Cursor object.
Some implementation details based on the current API defined in PHP:
- getId() can return null if there isn't a cursor (0 from OP_REPLY)
- isDead() and setBatchSize() should be implemented (although most users won't ever call these)
It should be possible to construct a Cursor object directly, if a user were to safe the Server hint and CursorId between PHP requests (e.g. in the session). The Cursor should also be constructed with an integer denoting how many results have been retrieved thus far and the client-side limit so that its OP_GET_MORE messages can request the correct number of documents and iteration can stop at the appropriate time.
- depends on
-
PHPC-57 Implement CursorId class
- Closed
- is depended on by
-
PHPC-76 Create default iterator class(es) for QueryResult and CommandResult
- Closed
- is related to
-
CDRIVER-288 Support parallelCollectionScan command
- Closed
- related to
-
CDRIVER-464 Changing batch_size on a cursor
- Closed
-
CDRIVER-465 Add a way to kill a cursor
- Closed
-
CDRIVER-466 Add a way to retrieve the ID of the cursor
- Closed