[DRIVERS-654] Implement Handling of Native UUID Types Specification Created: 20/May/19  Updated: 28/Oct/23  Resolved: 23/Jun/20

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: Epic Priority: Major - P3
Reporter: Rathi Gnanasekaran Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Issue split
split to NODE-1046 Ease using UUIDs Closed
split to JAVA-3516 Support Handling of Native UUID Types... Closed
split to RUST-687 PR: Support deserializing binary of U... Closed
split to CSHARP-2724 Implement specification for handling ... Closed
split to PYTHON-2152 Support Handling of Native UUID Types... Closed
Related
Quarter: FY20Q3
Driver Compliance:
Key Status/Resolution FixVersion
SWIFT-1136 Won't Do
JAVA-3516 Fixed 3.12.0
PYTHON-2152 Fixed 3.11
CSHARP-2724 Fixed 2.11.0
NODE-1046 Done
RUST-687 Fixed bson-2.0.0-beta.1

 Description   
Epic Summary

Summary

The Java, C#, and Python drivers natively support platform types for UUID, all of which by default encode them to and decode them from BSON binary subtype 3. However, each encode the bytes in a different order from the others. To improve interoperability, BSON binary subtype 4 was introduced and defined the byte order according to RFC 4122, and a mechanism to configure each driver to encode UUIDs this way was added to each driver. The legacy representation remained as the default for each driver.

This specification moves MongoDB drivers further towards the standard UUID representation by requiring an application relying on native UUID support to explicitly specify the representation it requires.

Drivers that support native UUID types will additionally create helpers on their BsonBinary class that will aid in conversion to and from the platform native UUID type.

Cast of Characters

Lead : Jeff
Author : Jeff
POCs : Java, .Net

Documentation

Scope Document
Spec Document


Generated at Thu Feb 08 08:22:03 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.