diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataPrettyFormatUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataPrettyFormatUtils.java index 8f939e6..b4133ab 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataPrettyFormatUtils.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataPrettyFormatUtils.java @@ -88,8 +88,8 @@ private static void formatColumnsHeaderPretty(StringBuilder columnInformation, int maxColNameLen, int prettyOutputNumCols) { String columnHeaders[] = MetaDataFormatUtils.getColumnsHeader(null); formatOutputPretty(columnHeaders[0], columnHeaders[1], columnHeaders[2], - columnInformation, maxColNameLen, prettyOutputNumCols); - columnInformation.append(MetaDataFormatUtils.LINE_DELIM); + columnInformation, maxColNameLen, prettyOutputNumCols); + columnInformation.append(MetaDataFormatUtils.FIELD_DELIM).append(MetaDataFormatUtils.FIELD_DELIM).append(MetaDataFormatUtils.LINE_DELIM); } private static void formatAllFieldsPretty(StringBuilder tableInfo, @@ -202,6 +202,7 @@ private static int appendFormattedColumn(StringBuilder sb, String text, String delim = StringUtils.repeat(" ", delimCount); sb.append(paddedText); sb.append(delim); + sb.append(MetaDataFormatUtils.FIELD_DELIM); return paddedText.length() + delim.length(); } @@ -209,11 +210,10 @@ private static int appendFormattedColumn(StringBuilder sb, String text, private static void formatOutputPretty(String colName, String colType, String colComment, StringBuilder tableInfo, int maxColNameLength, int prettyOutputNumCols) { - int colsConsumed = 0; - colsConsumed += appendFormattedColumn(tableInfo, colName, maxColNameLength + 1); - colsConsumed += appendFormattedColumn(tableInfo, colType, PRETTY_ALIGNMENT); + int colsNameConsumed = appendFormattedColumn(tableInfo, colName, maxColNameLength + 1); + int colsTypeConsumed =appendFormattedColumn(tableInfo, colType, PRETTY_ALIGNMENT); - colComment = breakCommentIntoMultipleLines(colComment, colsConsumed, prettyOutputNumCols); + colComment = breakCommentIntoMultipleLines(colComment, colsNameConsumed+colsTypeConsumed, prettyOutputNumCols); /* Comment indent processing for multi-line comments. * Comments should be indented the same amount on each line @@ -224,9 +224,7 @@ private static void formatOutputPretty(String colName, String colType, tableInfo.append(trimTrailingWS(commentSegments[0])); tableInfo.append(MetaDataFormatUtils.LINE_DELIM); for (int i = 1; i < commentSegments.length; i++) { - tableInfo.append(StringUtils.repeat(" ", colsConsumed)); - tableInfo.append(trimTrailingWS(commentSegments[i])); - tableInfo.append(MetaDataFormatUtils.LINE_DELIM); + tableInfo.append(String.format("%" + colsNameConsumed + "s" + MetaDataFormatUtils.FIELD_DELIM + "%" + colsTypeConsumed + "s" + MetaDataFormatUtils.FIELD_DELIM + "%s", "", "", commentSegments[i])).append(MetaDataFormatUtils.LINE_DELIM); } }