-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Depend on the BSON module on CPAN #23
Comments
Thanks a lot for all the info. I also think this is the way to go. My new job is stealing a lot of my time but I will email you later to talk about BSON::PP in more details. |
+1 |
I see this migration happening in 2 steps:
The 2 major breaking changes i can see are:
|
A while ago, I reviewed all the various BSON modules to compare APIs/implementations (as of BSON 0.16). You might want to review that in case I missed something: https://github.com/mongodb/mongo-perl-bson/blob/master/devel/bson-types-survey.md Note: the final implementation in BSON.pm has likely diverged from this comparison, but it's a good reference. Re Mango::BSON::Time, most of the functionality is there, but the APIs are different. One possibility might be to continue to provide it as a subclass of BSON::Time that preserves the legacy API. Getting Mango::BSON::Time objects in/out might require implementing conversion hooks, for which I have a draft design here: https://github.com/mongodb/mongo-perl-bson/blob/master/devel/typemap.md |
I'm not actually using Mango anymore, but given the history of this module, i think it should stay as independent as possible from MongoDB Inc. |
The plan for BSON support in the official MongoDB driver is evolving as follows:
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.
The text was updated successfully, but these errors were encountered: