Skip to content

Commit

Permalink
Fix map and array type rendering
Browse files Browse the repository at this point in the history
  • Loading branch information
nezihyigitbasi authored and cberner committed Apr 29, 2015
1 parent e33549d commit 8a97b14
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -176,4 +176,10 @@ public List<Type> getTypeParameters()
{
return ImmutableList.of(getElementType());
}

@Override
public String getDisplayName()
{
return "array<" + elementType.getDisplayName() + ">";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
import java.util.Map;

import static com.facebook.presto.type.TypeUtils.appendToBlockBuilder;
import static com.facebook.presto.type.TypeUtils.hashPosition;
import static com.facebook.presto.type.TypeUtils.buildStructuralSlice;
import static com.facebook.presto.type.TypeUtils.checkElementNotNull;
import static com.facebook.presto.type.TypeUtils.hashPosition;
import static com.facebook.presto.type.TypeUtils.parameterizedTypeName;
import static com.facebook.presto.type.TypeUtils.readStructuralBlock;
import static com.google.common.base.Preconditions.checkArgument;
Expand Down Expand Up @@ -217,4 +217,10 @@ public List<Type> getTypeParameters()
{
return ImmutableList.of(getKeyType(), getValueType());
}

@Override
public String getDisplayName()
{
return "map<" + keyType.getDisplayName() + ", " + valueType.getDisplayName() + ">";
}
}
12 changes: 6 additions & 6 deletions presto-main/src/main/java/com/facebook/presto/type/RowType.java
Original file line number Diff line number Diff line change
Expand Up @@ -67,17 +67,17 @@ public RowType(List<Type> fieldTypes, Optional<List<String>> fieldNames)
public String getDisplayName()
{
// Convert to standard sql name
List<String> fields = new ArrayList<>();
for (int i = 0; i < this.fields.size(); i++) {
RowField field = this.fields.get(i);
List<String> fieldDisplayNames = new ArrayList<>();
for (RowField field : fields) {
String typeDisplayName = field.getType().getDisplayName();
if (field.getName().isPresent()) {
fields.add(field.getName() + " " + field.getType().getDisplayName());
fieldDisplayNames.add(field.getName().get() + " " + typeDisplayName);
}
else {
fields.add(field.getType().getDisplayName());
fieldDisplayNames.add(typeDisplayName);
}
}
return "ROW(" + Joiner.on(", ").join(fields) + ")";
return "row(" + Joiner.on(", ").join(fieldDisplayNames) + ")";
}

@Override
Expand Down

0 comments on commit 8a97b14

Please sign in to comment.