New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FLINK-1369] [types] Add support for Subclasses, Interfaces, Abstract Classes #316
Conversation
… Classes. - Abstract classes with fields are handled as POJO types. - Interfaces and abstract classes without fields are handled as generic types. This closes apache#236 This closes apache#316
I will take a look at it. |
Looks good. You should add generics or least |
It's almost the same, except for the change to handle Interfaces and Abstract Classes with GenericTypeInfo, correct? The part that changes the KryoSerializer must be adapted because of my recently merged PR that allows registering types and serializers at Kryo. |
Yes, Pojo types with no internal fields would screw up the flat field addressing of the optimizer. |
… Classes. - Abstract classes with fields are handled as POJO types. - Interfaces and abstract classes without fields are handled as generic types. This closes apache#236 This closes apache#316
… Classes. - Abstract classes with fields are handled as POJO types. - Interfaces and abstract classes without fields are handled as generic types. This closes apache#236 This closes apache#316
@aljoscha took this PR and extended it. He'll open corresponding PRs. |
… Classes. - Abstract classes with fields are handled as POJO types. - Interfaces and abstract classes without fields are handled as generic types. This closes apache#236 This closes apache#316
… Classes. - Abstract classes with fields are handled as POJO types. - Interfaces and abstract classes without fields are handled as generic types. This closes apache#236 This closes apache#316
… Classes. - Abstract classes with fields are handled as POJO types. - Interfaces and abstract classes without fields are handled as generic types. This closes apache#236 This closes apache#316
… Classes. - Abstract classes with fields are handled as POJO types. - Interfaces and abstract classes without fields are handled as generic types. This closes apache#236 This closes apache#316
…PI. (apache#316) Co-authored-by: Markos Sfikas <markos@data-artisans.com>
This PR rebased PR #236 to the current master.
Some tests were failing and I had a closer look. The original PR handled interfaces and abstract classes without member variables as POJO types. However, POJO types without members cannot be handled correctly and do also not have members that can be referenced as keys or fields.
I changed the logic such that interfaces and abstract classes without members are handled as GenericTypes.
I'm not so familiar with the TypeExtractor, so it would be good if someone else could have a quick look.