Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.8, 0.9
-
Patch Available
Description
Consider the following struct definitions:
struct Point {
1: required double x;
2: required double y;
}
struct Review {
1: required i32 rating;
2: optional string text;
}
struct Place {
1: required string name;
2: required Point location;
3: optional Review review;
}
If I create a Place object and set the location field to a Review, it will serialize no problem.
place = Place(name="avi's place", location=Review(rating=1.0))
transportOut = TTransport.TMemoryBuffer()
protocolOut = TBinaryProtocol.TBinaryProtocol(transportOut)
place.write(protocolOut)
serialized = transportOut.getvalue()
This is confusing because if I set an i32 field to a string serialization does raise an error.
Attachments
Attachments
Issue Links
- relates to
-
THRIFT-1732 Thrift should provide deep-validation of structures
- Open