Timo Walther created FLINK-8139:
-----------------------------------
Summary: Check for proper equals() and hashCode() when registering
a table
Key: FLINK-8139
URL: https://issues.apache.org/jira/browse/FLINK-8139
Project: Flink
Issue Type: Improvement
Components: Table API & SQL
Reporter: Timo Walther
In the current Table API & SQL implementation we compare {{Row}}s at different
positions. E.g., for joining we test rows for equality or put them into state.
A heap state backend requires proper hashCode() and equals() in order to work
correct. Thus, every type in the Table API needs to have these methods
implemented.
We need to check if all fields of a row have implement methods that differ from
{{Object.equals()}} and {{Object.hashCode()}} via reflections. Both coming from
TableSource and DataStream/DataSet.
Additionally, for array types, the {{Row}} class should use
{{Arrays.deepEquals()}} and {{Arrays.deepHashCode()}} instead of the non-deep
variants.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)