-
Type: Bug
-
Resolution: Fixed
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: Operations
-
None
While working on RUBY-2220 I noticed that in a number of cases various find-related options aren't correctly propagated.
The options can generally be set:
- for an individual operation
- on the collection
- on the database (? perhaps only some)
- on the client
The find-related operations are:
- find
- getMore
- aggregate
- mapReduce
- explain
- ParallelScan (there isn't a server command for this, the driver scans in parallel)
The options are numerous, probably the best reference for them is server command documentation for each of the commands above.
Note that some commands do not accept some of the options, e.g. explain does not accept readConcern.
Note that some options are non-trivial to override, for example :oplog_replay is a boolean and a false value for an operation should override a true value set on the collection, so a simple || wouldn't work there.
This ticket is laborious due to the multitude of the combinations that need to be tested. Perhaps some thought could go into how the respective tests can be designed in a table-driven manner to make them more concise, and therefore more readable.
The changes under RUBY-2220 may add to the list of omissions, it's hard to verify correctness with the existing driver code.
- is related to
-
RUBY-2699 make readable methods recognize chained options
- Closed
-
RUBY-2797 Forward find conditions to View#aggregate
- Closed
-
RUBY-2306 Add tests verifying session options are passed correctly in CRUD operations
- Backlog
-
RUBY-2854 Consider passing find (collection view) session to count_documents
- Closed