Uploaded image for project: 'Go Driver'
  1. Go Driver
  2. GODRIVER-2499

Use a nested struct for default transaction options

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Minor - P4 Minor - P4
    • 2.0.0
    • Affects Version/s: None
    • Component/s: Sessions
    • None
    • Major Change
    • Needed
    • Hide

      1. What would you like to communicate to the user about this feature?

      DefaultReadConcern, DefaultReadPreference, and DefaultWriteConcern are all specific to transactions started by the session. Rather than maintain three fields on the Session struct, V2 has combined these options into DefaultTransactionOptions which specifies a TransactoinOptions object.

      2. Would you like the user to see examples of the syntax and/or executable code and its output?

      Any examples that define the three fields need to be updated in the documentation:

      // V1 
      
      sessOpts := options.Session().SetDefaultReadPreference(readpref.Primary())
      
      // V2
      
      txnOpts := options.Transaction().SetReadPreference(readpref.Primary())
      sessOpts := options.Session().SetDefaultTransactionOptions(txnOpts)
      

      3. Which versions of the driver/connector does this apply to?
      V2

      Show
      1. What would you like to communicate to the user about this feature? DefaultReadConcern, DefaultReadPreference, and DefaultWriteConcern are all specific to transactions started by the session. Rather than maintain three fields on the Session struct, V2 has combined these options into DefaultTransactionOptions which specifies a TransactoinOptions object. 2. Would you like the user to see examples of the syntax and/or executable code and its output? Any examples that define the three fields need to be updated in the documentation: // V1 sessOpts := options.Session().SetDefaultReadPreference(readpref.Primary()) // V2 txnOpts := options.Transaction().SetReadPreference(readpref.Primary()) sessOpts := options.Session().SetDefaultTransactionOptions(txnOpts) 3. Which versions of the driver/connector does this apply to? V2

      The SessionOptions struct has fields DefaultReadConcern and DefaultWriteConcern that only apply to transactions started within the session and not to any operation within the session as the names might suggest.

      We should change the name of these fields to represent that they only apply to transactions or put them within an embedded DefaultTransactionOptions struct within SessionOptions.

            Assignee:
            preston.vasquez@mongodb.com Preston Vasquez
            Reporter:
            benji.rewis@mongodb.com Benji Rewis (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: