THRIFT-2175 Wrong field type set for binary
Patch: Jens Geyer
diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc
index 24af687..00af893 100644
--- a/compiler/cpp/src/generate/t_go_generator.cc
+++ b/compiler/cpp/src/generate/t_go_generator.cc
@@ -3129,10 +3129,11 @@
throw "NO T_VOID CONSTRUCT";
case t_base_type::TYPE_STRING:
+ /* this is wrong, binary is still a string type internally
if (((t_base_type*)type)->is_binary()) {
return "thrift.BINARY";
}
-
+ */
return "thrift.STRING";
case t_base_type::TYPE_BOOL:
diff --git a/lib/go/thrift/serializer_types.go b/lib/go/thrift/serializer_types.go
index 2ce353b..8416b85 100644
--- a/lib/go/thrift/serializer_types.go
+++ b/lib/go/thrift/serializer_types.go
@@ -470,7 +470,7 @@
func (p *TestStruct) writeField8(oprot TProtocol) (err error) {
if p.Bin != nil {
- if err := oprot.WriteFieldBegin("bin", BINARY, 8); err != nil {
+ if err := oprot.WriteFieldBegin("bin", STRING, 8); err != nil {
return fmt.Errorf("%T write field begin error 8:bin: %s", p, err)
}
if err := oprot.WriteBinary(p.Bin); err != nil {