THRIFT-5923: UUID python
Client: py
Patch: CJCombrink
This closes #3330
diff --git a/lib/py/src/ext/compact.cpp b/lib/py/src/ext/compact.cpp
index ae89f2a..8d13d3d 100644
--- a/lib/py/src/ext/compact.cpp
+++ b/lib/py/src/ext/compact.cpp
@@ -24,23 +24,26 @@
namespace thrift {
namespace py {
+/** Mapping of Compact type to Thrift Type according.
+ * This list must match the TType enum in TEnum.h */
const uint8_t CompactProtocol::TTypeToCType[] = {
- CT_STOP, // T_STOP
- 0, // unused
- CT_BOOLEAN_TRUE, // T_BOOL
- CT_BYTE, // T_BYTE
- CT_DOUBLE, // T_DOUBLE
- 0, // unused
- CT_I16, // T_I16
- 0, // unused
- CT_I32, // T_I32
- 0, // unused
- CT_I64, // T_I64
- CT_BINARY, // T_STRING
- CT_STRUCT, // T_STRUCT
- CT_MAP, // T_MAP
- CT_SET, // T_SET
- CT_LIST, // T_LIST
+/* 0 */ CT_STOP, // T_STOP
+/* 1 */ 0, // unused
+/* 2 */ CT_BOOLEAN_TRUE, // T_BOOL
+/* 3 */ CT_BYTE, // T_BYTE
+/* 4 */ CT_DOUBLE, // T_DOUBLE
+/* 5 */ 0, // unused
+/* 6 */ CT_I16, // T_I16
+/* 7 */ 0, // unused
+/* 8 */ CT_I32, // T_I32
+/* 9 */ 0, // unused
+/* 10 */ CT_I64, // T_I64
+/* 11 */ CT_BINARY, // T_STRING
+/* 12 */ CT_STRUCT, // T_STRUCT
+/* 13 */ CT_MAP, // T_MAP
+/* 14 */ CT_SET, // T_SET
+/* 15 */ CT_LIST, // T_LIST
+/* 16 */ CT_UUID, // T_UUID
};
bool CompactProtocol::readFieldBegin(TType& type, int16_t& tag) {
@@ -98,6 +101,8 @@
return T_MAP;
case CT_STRUCT:
return T_STRUCT;
+ case CT_UUID:
+ return T_UUID;
default:
PyErr_Format(PyExc_TypeError, "don't know what type: %d", type);
return static_cast<TType>(-1);