forked from kraih/mango
-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Milestone
Description
The plan for BSON support in the official MongoDB driver is evolving as follows:
- BSON v1.0.0 (coming in the next month or so) will provide a complete, well-tested pure-Perl BSON encoder/decoder (BSON::PP) and a full set of BSON type wrapper classes
- BSON-XS v1.0.0 (coming in the next couple months) will provide a high-performance BSON encoder/decoder (BSON::XS)
- BSON v1.0.0 will use BSON::XS if installed or else fall back to BSON::PP
- MongoDB v1.6.0 (coming Q3 2016) will depend on BSON-v1.0.0 in order to provide Decimal128 support, but will still bundle its own XS-based encoder
- MongoDB v2.0.0 (coming Q4 2016 or early 2017) will remove its bundled encoder and depend solely on the BSON distribution (and thus automatically get either BSON::XS or BSON::PP); legacy MongoDB namespaced type wrappers (e.g. MongoDB::Code) will become empty subclasses of BSON namespaced type wrappers (e.g. BSON::Code).
If Mango were able to make a similar change -- depending on BSON and using (subclassing) its type wrappers, then Mango wouldn't have to support BSON changes over time and could offer both a pure-Perl or XS backend without any extra development.
This might involve some breaking changes or work to ensure compatibility in the type-wrappers, but might be worth it in the long run for Mango users. I'm happy to help think through implications and approaches.
Metadata
Metadata
Assignees
Labels
No labels