[DRIVERS-1173] Driver Handling of DBRefs Created: 07/Apr/20  Updated: 21/Aug/23

Status: Implementing
Project: Drivers
Component/s: BSON
Fix Version/s: None

Type: Epic Priority: Major - P3
Reporter: Esha Bhargava Assignee: Jeremy Mikola
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Issue split
split to RUBY-2590 Driver Handling of DBRefs Closed
split to CSHARP-3631 Driver Handling of DBRefs Backlog
split to JAVA-4124 Driver Handling of DBRefs Backlog
split to CDRIVER-3970 Driver Handling of DBRefs Closed
split to CXX-2238 Driver Handling of DBRefs Closed
split to GODRIVER-1985 Driver Handling of DBRefs Closed
split to MOTOR-718 Driver Handling of DBRefs Closed
split to NODE-3247 Driver Handling of DBRefs Closed
split to PHPC-1821 Driver Handling of DBRefs Closed
split to PYTHON-2680 Driver Handling of DBRefs Closed
split to RUST-762 Driver Handling of DBRefs Closed
Related
related to DOCS-5135 Document that DBRef objects allow ext... Closed
Driver Changes: Needed
Quarter: FY22Q4
Start date:
Cost Threshold %: 100
Detailed Project Statuses:

Summary: This introduces a new Handling of DBRefs specification. This spec itself should only be relevant for drivers that provide a DBRef model class, as it provides guidance for encoding/decoding behavior and includes several prose tests to be implemented.

Lead: Andreas
Author: Jeremy

2021-07-16:

  • C, Go, and PHP done
  • All other teams focusing on higher priority 5.0 work

2021-06-30:

  • C, Go, and PHP done
  • All other teams focusing on higher priority 5.0 work

2021-06-16:

  • C done
  • Go and PHP in review
  • All other teams focusing on higher priority 5.0 work

Driver Compliance:
Key Status/Resolution FixVersion
CDRIVER-3970 Fixed 1.18.0
CXX-2238 Works as Designed
CSHARP-3631 Backlog
GODRIVER-1985 Fixed 1.6.0
JAVA-4124 Backlog
NODE-3247 Fixed bson-4.5.0
MOTOR-718 Duplicate
PYTHON-2680 Fixed 4.0
PHPC-1821 Fixed 1.10.0
RUBY-2590 Fixed bson-4.13.0, 2.18.0
RUST-762 Works as Designed
SWIFT-1190 Done

 Description   

This introduces a new Handling of DBRefs specification. This spec itself should only be relevant for drivers that provide a DBRef model class, as it provides guidance for encoding/decoding behavior and includes several prose tests to be implemented.

Relevant to all drivers, this project additionally updated the BSON corpus spec tests and Extended JSON spec. All drivers should sync BSON corpus tests with mongodb/specifications@a274fbf. The Extended JSON spec was updated to remove mention that DBRef documents cannot contain extra dollar-prefixed keys (related to DRIVERS-1237). Additionally, the JSON parsing rules were relaxed to not raise an error when parsing a document that resembles but does not fully conform to a DBRef.



 Comments   
Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Jeremy Mikola', 'email': 'jmikola@gmail.com', 'username': 'jmikola'}

Message: DRIVERS-1173: Remove DBRef parse error tests (#1012)
Branch: master
https://github.com/mongodb/specifications/commit/a274fbfddfd39f5f3d00712c422e4f1b062d783c

Comment by Jeremy Mikola [ 04/Jun/21 ]

https://github.com/mongodb/specifications/pull/1012

Comment by Jeremy Mikola [ 04/Jun/21 ]

Some additional BSON corpus tests that expect parse errors need to be removed. Moving back to "Designing" and will follow-up with a PR shortly.

Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Jeremy Mikola', 'email': 'jmikola@gmail.com', 'username': 'jmikola'}

Message: DRIVERS-1173: Fix syntax error in DBRef BSON corpus test
Branch: master
https://github.com/mongodb/specifications/commit/e1cbbcba78657fc509a8c750ed9c0275d52f2a4a

Comment by Githook User [ 27/May/21 ]

Author:

{'name': 'Jeremy Mikola', 'email': 'jmikola@gmail.com', 'username': 'jmikola'}

Message: DRIVERS-1173: DBRef spec (#996)

  • Update related portions of the Extended JSON spec.
  • Clarify why Extended JSON is used
  • DBRef model should inherit embedded document type
  • Clarify implicit decoding failure handling
  • Additional DBRef BSON corpus tests
  • Replace MUST with SHOULD for opting out of implicit decoding

Co-authored-by: Kaitlin Mahar <kaitlinmahar@gmail.com>
Branch: master
https://github.com/mongodb/specifications/commit/5a8c8d774a0092f520a5ca5c2ef9b7b2dbca5f8a

Comment by Jeremy Mikola [ 21/May/21 ]

PR: https://github.com/mongodb/specifications/pull/996

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