Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2231

ChangeStream Spec: fullDocument field in ChangeStreamOptions should be an optional to handle "default" case.

    • Type: Icon: Spec Change Spec Change
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: Change Streams
    • Labels:
      None
    • Needed
    • Hide

      Currently, the ChangeStream spec defines the fullDocument field in ChangeStreamOptions as a String that defaults to the string literal "default". As of server version 3.6, sending "default" and sending no fullDocument field have identical behavior, so fullDocument should be defined as an Optional<String> to avoid using the "default" string literal.

      Drivers should sync legacy change streams tests to mongodb/specifications@31edce6 and legacy retryable reads tests to mongodb/specifications@006a4f1 .

      Show
      Currently, the ChangeStream spec defines the fullDocument field in ChangeStreamOptions as a String that defaults to the string literal "default". As of server version 3.6, sending "default" and sending no fullDocument field have identical behavior, so fullDocument should be defined as an Optional<String> to avoid using the "default" string literal. Drivers should sync legacy change streams tests to mongodb/specifications@31edce6 and legacy retryable reads tests to mongodb/specifications@006a4f1 .
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4305 Done 1.22.0, 1.22.0-beta0
      CXX-2462 Fixed 3.7.0
      CSHARP-4093 Duplicate
      GODRIVER-2329 Done
      JAVA-4526 Done
      NODE-4069 Fixed 4.5.0
      MOTOR-905 Duplicate
      PYTHON-3163 Duplicate
      PHPLIB-808 Fixed 1.13.0-beta1, 1.13.0
      RUBY-2920 Fixed 2.18.0
      RUST-1214 Works as Designed
      SWIFT-1512 Works as Designed
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-4305 Done 1.22.0, 1.22.0-beta0 CXX-2462 Fixed 3.7.0 CSHARP-4093 Duplicate GODRIVER-2329 Done JAVA-4526 Done NODE-4069 Fixed 4.5.0 MOTOR-905 Duplicate PYTHON-3163 Duplicate PHPLIB-808 Fixed 1.13.0-beta1, 1.13.0 RUBY-2920 Fixed 2.18.0 RUST-1214 Works as Designed SWIFT-1512 Works as Designed

      Currently, the ChangeStream spec defines the fullDocument field in ChangeStreamOptions as a String that defaults to the string literal "default". As of server version 3.6, sending "default" and sending no fullDocument field have identical behavior, so fullDocument should be defined as an Optional<String> to avoid using the "default" string literal.

            Assignee:
            nataly.carbonell@mongodb.com Nataly Carbonell
            Reporter:
            benji.rewis@mongodb.com Benji Rewis (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: