Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
When sending decimal32 and decimal64 types to or from the Python binding, the byte order of the numbers are reversed. This does not apply to the decimal128 type.
It is noteworthy that this bug was exposed by qpid-interop-test when run against the C++ binding. In C++, these types are all based on a byte array, whereas in the Python binding, decimal32 and decimal64 are derived from Python types int and long respectively, while decimal128 is derived from Python type bytes.
Decimal32:
sent:['0x00000000', '0x40490fdb', '0xc02df854', '0xff7fffff'] received:['0x00000000', '0xdb0f4940', '0x54f82dc0', '0xffff7fff']
Decimal64:
sent:['0x0000000000000000', '0x400921fb54442eea', '0xc005bf0a8b145fcf', '0xffefffffffffffff'] received:['0x0000000000000000', '0xea2e4454fb210940', '0xcf5f148b0abf05c0', '0xffffffffffffefff']