Skip to content

Commit

Permalink
Rename variables in MapToMapCast
Browse files Browse the repository at this point in the history
  • Loading branch information
jirassimok authored and findepi committed Nov 23, 2021
1 parent 8071657 commit c68bda7
Showing 1 changed file with 9 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -235,15 +235,17 @@ public static Block checkBlockIsNotNull(Block value)
public static Block mapCast(
MethodHandle keyProcessFunction,
MethodHandle valueProcessFunction,
Type toMapType,
Type targetType,
BlockPositionEqual keyEqual,
BlockPositionHashCode keyHashCode,
ConnectorSession session,
Block fromMap)
{
checkState(toMapType.getTypeParameters().size() == 2, "Expect two type parameters for toMapType");
Type toKeyType = toMapType.getTypeParameters().get(0);
TypedSet typedSet = createEqualityTypedSet(toKeyType, keyEqual, keyHashCode, fromMap.getPositionCount() / 2, "map-to-map cast");
checkState(targetType.getTypeParameters().size() == 2, "Expect two type parameters for targetType");
Type toKeyType = targetType.getTypeParameters().get(0);
TypedSet resultKeys = createEqualityTypedSet(toKeyType, keyEqual, keyHashCode, fromMap.getPositionCount() / 2, "map-to-map cast");

// Cast the keys into a new block
BlockBuilder keyBlockBuilder = toKeyType.createBlockBuilder(null, fromMap.getPositionCount() / 2);
for (int i = 0; i < fromMap.getPositionCount(); i += 2) {
try {
Expand All @@ -255,10 +257,10 @@ public static Block mapCast(
}
Block keyBlock = keyBlockBuilder.build();

BlockBuilder mapBlockBuilder = toMapType.createBlockBuilder(null, 1);
BlockBuilder mapBlockBuilder = targetType.createBlockBuilder(null, 1);
BlockBuilder blockBuilder = mapBlockBuilder.beginBlockEntry();
for (int i = 0; i < fromMap.getPositionCount(); i += 2) {
if (typedSet.add(keyBlock, i / 2)) {
if (resultKeys.add(keyBlock, i / 2)) {
toKeyType.appendTo(keyBlock, i / 2, blockBuilder);
if (fromMap.isNull(i + 1)) {
blockBuilder.appendNull();
Expand All @@ -279,6 +281,6 @@ public static Block mapCast(
}

mapBlockBuilder.closeEntry();
return (Block) toMapType.getObject(mapBlockBuilder, mapBlockBuilder.getPositionCount() - 1);
return (Block) targetType.getObject(mapBlockBuilder, mapBlockBuilder.getPositionCount() - 1);
}
}

0 comments on commit c68bda7

Please sign in to comment.