-
Type: Improvement
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
PyMongo only supports big endian systems in pure python mode. The C extensions will be modified to support big endian systems.
- Add a byteswap implementation that can be used in _cbsonmodule.c and _cmessagemodule.c. We can probably steal the relevant code from libbson. See https://github.com/mongodb/libbson/blob/master/src/bson/bson-endian.h
- Use the byteswap code when encoding / decoding BSON int32 and int64.
- Remove the big endian checks in setup.py
- Test (somehow, sparc?) in jenkins / evergreen.