@@ -48,14 +48,14 @@ class ArrayBasedMapBuilder(keyType: DataType, valueType: DataType) extends Seria
4848 private lazy val keyGetter = InternalRow .getAccessor(keyType)
4949 private lazy val valueGetter = InternalRow .getAccessor(valueType)
5050
51- def put (key : Any , value : Any , withSizeCheck : Boolean = false ): Unit = {
51+ def put (key : Any , value : Any ): Unit = {
5252 if (key == null ) {
5353 throw new RuntimeException (" Cannot use null as map key." )
5454 }
5555
5656 val index = keyToIndex.getOrDefault(key, - 1 )
5757 if (index == - 1 ) {
58- if (withSizeCheck && size >= ByteArrayMethods .MAX_ROUNDED_ARRAY_LENGTH ) {
58+ if (size >= ByteArrayMethods .MAX_ROUNDED_ARRAY_LENGTH ) {
5959 throw new RuntimeException (s " Unsuccessful attempt to build maps with $size elements " +
6060 s " due to exceeding the map size limit ${ByteArrayMethods .MAX_ROUNDED_ARRAY_LENGTH }. " )
6161 }
@@ -81,11 +81,10 @@ class ArrayBasedMapBuilder(keyType: DataType, valueType: DataType) extends Seria
8181 throw new RuntimeException (
8282 " The key array and value array of MapData must have the same length." )
8383 }
84- val sizeCheckRequired =
85- size + keyArray.numElements() > ByteArrayMethods .MAX_ROUNDED_ARRAY_LENGTH
84+
8685 var i = 0
8786 while (i < keyArray.numElements()) {
88- put(keyGetter(keyArray, i), valueGetter(valueArray, i), withSizeCheck = sizeCheckRequired )
87+ put(keyGetter(keyArray, i), valueGetter(valueArray, i))
8988 i += 1
9089 }
9190 }
0 commit comments