GenericRecord Feature has implemented. [API-1164][API-1853]#1086
GenericRecord Feature has implemented. [API-1164][API-1853]#1086OzanCansel merged 10 commits intohazelcast:masterfrom
Conversation
|
Linux test FAILed. |
|
Windows test FAILed. |
|
Linux test FAILed. |
|
Windows test FAILed. |
|
Linux test FAILed. |
|
Linux test FAILed. |
|
Windows test FAILed. |
|
Linux test FAILed. |
|
Windows test FAILed. |
|
Linux test FAILed. |
|
Windows test FAILed. |
|
Linux test FAILed. |
|
Windows test FAILed. |
|
Linux test FAILed. |
|
Windows test FAILed. |
hazelcast/include/hazelcast/client/serialization/generic_record_builder.h
Show resolved
Hide resolved
hazelcast/include/hazelcast/client/serialization/generic_record_builder.h
Outdated
Show resolved
Hide resolved
hazelcast/include/hazelcast/client/serialization/generic_record_builder.h
Outdated
Show resolved
Hide resolved
hazelcast/include/hazelcast/client/serialization/pimpl/compact/compact.h
Show resolved
Hide resolved
hazelcast/include/hazelcast/client/serialization/generic_record_builder.h
Outdated
Show resolved
Hide resolved
…de more explanatory.
|
Linux test PASSed. |
1 similar comment
|
Linux test PASSed. |
|
Windows test PASSed. |
| if (already_built_) { | ||
| BOOST_THROW_EXCEPTION(exception::hazelcast_serialization{ | ||
| boost::str(boost::format("Illegal to write after record is " | ||
| "built. {field : %1%, kind : %2%}") % | ||
| field_name % kind) }); | ||
| } |
There was a problem hiding this comment.
Is this missing for Java client? If so, can you send a PR to Java as well.
There was a problem hiding this comment.
I remembered, it doesn't exist in Java. It needs to be implemented first at Java side. Do you want me to open an issue for it ?
hazelcast/include/hazelcast/client/serialization/generic_record_builder.h
Show resolved
Hide resolved
|
Windows test FAILed. |
|
Linux test PASSed. |
|
Windows test FAILed. |
|
Linux test PASSed. |
|
Windows test PASSed. |
|
Linux test PASSed. |
|
Linux test PASSed. |
|
Windows test PASSed. |
| field_kind get_field_kind(const std::string& field_name) const; | ||
|
|
||
| /** | ||
| * @param fieldName the name of the field |
There was a problem hiding this comment.
| * @param fieldName the name of the field | |
| * @param field_name the name of the field |
| } | ||
|
|
||
| generic_record_builder::generic_record_builder( | ||
| std::shared_ptr<pimpl::schema> boundary, |
There was a problem hiding this comment.
| std::shared_ptr<pimpl::schema> boundary, | |
| std::shared_ptr<pimpl::schema> record_schema, |
|
Windows test PASSed. |
|
Linux test PASSed. |
This pr is based on
API-1327branch. So a user which only wants to see changes related this PR must do a diff toAPI-1327branch.generic_record_builderclass is added.generic_recordclass is added.generic_record, schema distribution, serialization etc. are implemented.generic_record.constoverloads of methods are added ingeneric_record. For low memory footprint types, it returns by value. For others it returnsconst T&.non-constmethod overloads ofgeneric_record, it allows to modify the value via reference.generic_recordgeneric_recordis copyable and movable.generic_record_builderis both movable and copyable, in case it is moved, the moved from object is left at invalid state and not usable.For detailed explanation look attached TDD to API-1853