Repository: hive Updated Branches: refs/heads/branch-1.0 6e8f67a60 -> fb86cef39
HIVE-11035: PPD: Orc Split elimination fails because filterColumns=[-1] (Prasanth Jayachandran reviewed by Gopal V) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/fb86cef3 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/fb86cef3 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/fb86cef3 Branch: refs/heads/branch-1.0 Commit: fb86cef39b996e312bb54a03cfd0284601a3d7b0 Parents: 6e8f67a Author: Prasanth Jayachandran <[email protected]> Authored: Wed Jun 17 23:52:47 2015 -0700 Committer: Prasanth Jayachandran <[email protected]> Committed: Wed Jun 17 23:52:47 2015 -0700 ---------------------------------------------------------------------- .../hive/serde2/ColumnProjectionUtils.java | 30 ++++---------------- 1 file changed, 5 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/fb86cef3/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java ---------------------------------------------------------------------- diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java b/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java index e403ad9..8aa8a81 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java @@ -24,6 +24,8 @@ import java.util.List; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.util.StringUtils; +import com.google.common.base.Joiner; + /** * ColumnProjectionUtils. * @@ -35,6 +37,7 @@ public final class ColumnProjectionUtils { public static final String READ_COLUMN_NAMES_CONF_STR = "hive.io.file.readcolumn.names"; private static final String READ_COLUMN_IDS_CONF_STR_DEFAULT = ""; private static final boolean READ_ALL_COLUMNS_DEFAULT = true; + private static final Joiner CSV_JOINER = Joiner.on(",").skipNulls(); /** * @deprecated for backwards compatibility with <= 0.12, use setReadAllColumns @@ -106,31 +109,8 @@ public final class ColumnProjectionUtils { public static void appendReadColumns( StringBuilder readColumnsBuffer, StringBuilder readColumnNamesBuffer, List<Integer> ids, List<String> names) { - appendReadColumns(readColumnsBuffer, ids); - appendReadColumnNames(readColumnNamesBuffer, names); - } - - public static void appendReadColumns(StringBuilder readColumnsBuffer, List<Integer> ids) { - String id = toReadColumnIDString(ids); - String newConfStr = id; - if (readColumnsBuffer.length() > 0) { - readColumnsBuffer.append(StringUtils.COMMA_STR).append(newConfStr); - } - if (readColumnsBuffer.length() == 0) { - readColumnsBuffer.append(READ_COLUMN_IDS_CONF_STR_DEFAULT); - } - } - - private static void appendReadColumnNames(StringBuilder readColumnNamesBuffer, List<String> cols) { - boolean first = readColumnNamesBuffer.length() > 0; - for(String col: cols) { - if (first) { - first = false; - } else { - readColumnNamesBuffer.append(','); - } - readColumnNamesBuffer.append(col); - } + CSV_JOINER.appendTo(readColumnsBuffer, ids); + CSV_JOINER.appendTo(readColumnNamesBuffer, names); } /**
