Skip to content

Commit 30d28bc

Browse files
committed
Apply comments
1 parent 50f8be3 commit 30d28bc

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeMapData.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121

2222
import org.apache.spark.sql.catalyst.util.MapData;
2323
import org.apache.spark.unsafe.Platform;
24+
import org.apache.spark.unsafe.array.ByteArrayMethods;
25+
import org.apache.spark.unsafe.hash.Murmur3_x86_32;
2426

2527
/**
2628
* An Unsafe implementation of Map which is backed by raw memory instead of Java objects.
@@ -120,17 +122,18 @@ public UnsafeMapData copy() {
120122
}
121123

122124
@Override
123-
public boolean equals(Object o) {
124-
if (o instanceof UnsafeMapData) {
125-
UnsafeMapData other = (UnsafeMapData) o;
126-
return this.keyArray().equals(other.keyArray()) &&
127-
this.valueArray().equals(other.valueArray());
125+
public boolean equals(Object other) {
126+
if (other instanceof UnsafeMapData) {
127+
UnsafeMapData o = (UnsafeMapData) other;
128+
return sizeInBytes == o.sizeInBytes &&
129+
ByteArrayMethods.arrayEquals(baseObject, baseOffset, o.baseObject, o.baseOffset,
130+
sizeInBytes);
128131
}
129132
return false;
130133
}
131134

132135
@Override
133136
public int hashCode() {
134-
return keyArray().hashCode() * 37 + valueArray().hashCode();
137+
return Murmur3_x86_32.hashUnsafeBytes(baseObject, baseOffset, sizeInBytes, 42);
135138
}
136139
}

0 commit comments

Comments
 (0)