beeline/src/java/org/apache/hive/beeline/Rows.java | 25 +++++++++++----------- .../apache/hive/beeline/TestTableOutputFormat.java | 2 +- 2 files changed, 13 insertions(+), 14 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..105d8ca 100644 --- a/beeline/src/java/org/apache/hive/beeline/Rows.java +++ b/beeline/src/java/org/apache/hive/beeline/Rows.java @@ -152,21 +152,20 @@ public String toString(){ } catch (Throwable t) { } - 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(); - } + for (int i = 0; i < size; i++) { + 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(); } } } diff --git a/beeline/src/test/org/apache/hive/beeline/TestTableOutputFormat.java b/beeline/src/test/org/apache/hive/beeline/TestTableOutputFormat.java index c7d9f80..0f557e8 100644 --- a/beeline/src/test/org/apache/hive/beeline/TestTableOutputFormat.java +++ b/beeline/src/test/org/apache/hive/beeline/TestTableOutputFormat.java @@ -96,7 +96,7 @@ public Boolean answer(final InvocationOnMock invocation) { } }); - when(mockResultSet.getString(Matchers.anyInt())).thenAnswer(new Answer() { + when(mockResultSet.getObject(Matchers.anyInt())).thenAnswer(new Answer() { @Override public String answer(final InvocationOnMock invocation) { Object[] args = invocation.getArguments();