Skip to content

Commit 56ff20a

Browse files
committed
[SPARK-23935][SQL] Introducing long constant for struct size.
1 parent 6aa90ef commit 56ff20a

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/collectionOperations.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ case class MapEntries(child: Expression) extends UnaryExpression with ExpectsInp
206206
val baseOffset = Platform.BYTE_ARRAY_OFFSET
207207
val longSize = LongType.defaultSize
208208
val structSize = UnsafeRow.calculateBitSetWidthInBytes(2) + longSize * 2
209+
val structSizeAsLong = structSize + "L"
209210
val keyTypeName = CodeGenerator.primitiveTypeName(childDataType.keyType)
210211
val valueTypeName = CodeGenerator.primitiveTypeName(childDataType.keyType)
211212

@@ -234,8 +235,8 @@ case class MapEntries(child: Expression) extends UnaryExpression with ExpectsInp
234235
| $unsafeArrayData.pointTo($data, $baseOffset, (int)$byteArraySize);
235236
| UnsafeRow $unsafeRow = new UnsafeRow(2);
236237
| for (int z = 0; z < $numElements; z++) {
237-
| long offset = $structsOffset + z * $structSize;
238-
| $unsafeArrayData.setLong(z, (offset << 32) + $structSize);
238+
| long offset = $structsOffset + z * $structSizeAsLong;
239+
| $unsafeArrayData.setLong(z, (offset << 32) + $structSizeAsLong);
239240
| $unsafeRow.pointTo($data, $baseOffset + offset, $structSize);
240241
| $unsafeRow.set$keyTypeName(0, ${getKey(keys)});
241242
| $valueAssignmentChecked

0 commit comments

Comments
 (0)