[ https://issues.apache.org/jira/browse/FLINK-8139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16265184#comment-16265184 ]
ASF GitHub Bot commented on FLINK-8139: --------------------------------------- GitHub user Aegeaner opened a pull request: https://github.com/apache/flink/pull/5065 [FLINK-8139][table] Check for proper equals() and hashCode() when reg… https://issues.apache.org/jira/browse/FLINK-8139 Check for proper equals() and hashCode() when registering a table. ## Contribution Checklist ## Verifying this change flink-table unit tests passed. You can merge this pull request into a Git repository by running: $ git pull https://github.com/Aegeaner/flink FLINK-8139 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/5065.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #5065 ---- commit 41e79898653c656ebca3b4d96bab6f2b4664488d Author: Aegeaner <xih...@gmail.com> Date: 2017-11-24T08:11:28Z [FLINK-8139][table] Check for proper equals() and hashCode() when registering a table ---- > 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 > Assignee: Aegeaner > > 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)