Use pluggable bson conversion for client methods

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Unknown
    • 4.0.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • Rust Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      Currently, we accept user types in the driver via serde only. This has a bunch of downsides:

      • it locks the driver and the user into serde rather than any alternative (e.g. facet)
      • it makes serde a hard dependency of the driver
      • it leaves potential optimizations (avoiding copies / extra work with raw documents) unavailable

      We can solve these by implementing a bson conversion interface that uses pluggable tags, as demonstrated in this Rust playground.

            Assignee:
            Unassigned
            Reporter:
            Abraham Egnor
            None
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: