Github user srowen commented on a diff in the pull request:

    https://github.com/apache/spark/pull/12157#discussion_r59681526
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/literals.scala
 ---
    @@ -169,6 +170,8 @@ case class Literal protected (value: Any, dataType: 
DataType)
     
       override def toString: String = if (value != null) value.toString else 
"null"
     
    +  override def hashCode(): Int = 42 * dataType.hashCode() + 
Objects.hashCode(value)
    --- End diff --
    
    That's good, though I think it's best if we use this everywhere for safety. 
Many of the equals methods we're matching would handle nulls, but the hashCode 
wouldn't.
    
    Also are you able to add the style check rule? or is there no way to 
require hashCode with equals, without requiring equals with hashCode? In the 
latter case, I suppose we could add dummy equals() methods that just call 
super.equals() to satisfy the style check, and comment that that is their 
purpose.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to