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

Scope and design support for complex parameter types

    • Type: Icon: New Feature New Feature
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Core API
    • None

      During the implementation of GODRIVER-1054 and GODRIVER-1056 a design flaw was discovered. The drivergen library can only handle simple parameters for operations, like int64, string, and bsoncore.Value. This means parameters that have more structure, like the update and delete commands, cannot be easily represented by the operation.Update and operation.Delete types. For the updates field of the update command and the deletes field of the delete command the only option is a bsoncore.Document which requires the consumer of the operation package to have knowledge of the structure of a command, which leaks part of the abstraction from the operation layer.

      We require a new design for the parameters of operations for drivergen that enables these structured fields. The IDL format needs to be amended to define these structured fields and the code generation components of drivergen need to be updated to handle this.

            Assignee:
            Unassigned Unassigned
            Reporter:
            kris.brandow@mongodb.com Kristofer Brandow (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: