[jira] [Created] (FLINK-8139) Check for proper equals() and hashCode() when registering a table

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-8139) Check for proper equals() and hashCode() when registering a table

Shang Yuanchun (Jira)
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)