Uploaded image for project: 'C Driver'
  1. C Driver
  2. CDRIVER-1916

bson_iter_init_find() and bson_iter_init_find_case() should return false only when iterator is successfully exhausted and key not found

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major - P3
    • Resolution: Won't Fix
    • None
    • 1.6.0
    • libbson
    • None

    Description

      bson_iter_init_find() and bson_iter_init_find_case() are currently documented to return false in either of the following two circumstances:

      1. Iterator initialization fails.
      2. The iterator was successfully exhausted and the requested key was not found.

      Because of this ambiguity, it is not currently clear whether or not a consumer of this API should propagate an error up the call stack when it receives a false return value from one of these two functions.

      Instead, these API functions should BSON_ASSERT() that iterator initialization was successful, and their documentation should be updated to reflect that they will never return an error.

      See also my comment at CXX-1066 for further discussion.

      Attachments

        Issue Links

          Activity

            People

              jesse@mongodb.com A. Jesse Jiryu Davis
              rassi J Rassi
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: