beeline/src/java/org/apache/hive/beeline/Rows.java | 25 +++++++++++----------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/beeline/src/java/org/apache/hive/beeline/Rows.java b/beeline/src/java/org/apache/hive/beeline/Rows.java index 924b951..61f80ba 100644 --- a/beeline/src/java/org/apache/hive/beeline/Rows.java +++ b/beeline/src/java/org/apache/hive/beeline/Rows.java @@ -35,7 +35,7 @@ * Holds column values as strings */ abstract class Rows implements Iterator { - protected final BeeLine beeLine; + private final BeeLine beeLine; final ResultSetMetaData rsMeta; final Boolean[] primaryKeys; final NumberFormat numberFormat; @@ -153,20 +153,19 @@ public String toString(){ } for (int i = 0; i < size; i++) { - if (numberFormat != null) { - Object o = rs.getObject(i + 1); - if (o == null) { - values[i] = null; - } else if (o instanceof Number) { - values[i] = numberFormat.format(o); - } else { - values[i] = o.toString(); - } + Object o = rs.getObject(i + 1); + String value = null; + + if (o == null) { + value = nullStr; + } else if (numberFormat != null && o instanceof Number) { + value = numberFormat.format(o); } else { - values[i] = rs.getString(i + 1); + value = o.toString(); } - values[i] = values[i] == null ? nullStr : values[i]; - sizes[i] = values[i].length(); + + values[i] = value.intern(); + sizes[i] = value.length(); } } }