You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by br...@apache.org on 2013/12/04 15:52:14 UTC

svn commit: r1547814 - in /hive/trunk/serde/src: java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java test/org/apache/hadoop/hive/serde2/TestColumnProjectionUtils.java

Author: brock
Date: Wed Dec  4 14:52:14 2013
New Revision: 1547814

URL: http://svn.apache.org/r1547814
Log:
HIVE-5855 - Add deprecated methods back to ColumnProjectionUtils (Brock Noland reviewed by Navis)

Modified:
    hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java
    hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/TestColumnProjectionUtils.java

Modified: hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java
URL: http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java?rev=1547814&r1=1547813&r2=1547814&view=diff
==============================================================================
--- hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java (original)
+++ hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java Wed Dec  4 14:52:14 2013
@@ -37,6 +37,34 @@ public final class ColumnProjectionUtils
   private static final boolean READ_ALL_COLUMNS_DEFAULT = true;
 
   /**
+   * @deprecated for backwards compatibility with <= 0.12, use setReadAllColumns
+   */
+  @Deprecated
+  public static void setFullyReadColumns(Configuration conf) {
+    setReadAllColumns(conf);
+  }
+
+  /**
+   * @deprecated for backwards compatibility with <= 0.12, use setReadAllColumns
+   * and appendReadColumns
+   */
+  @Deprecated
+  public static void setReadColumnIDs(Configuration conf, List<Integer> ids) {
+    setReadColumnIDConf(conf, READ_COLUMN_IDS_CONF_STR_DEFAULT);
+    appendReadColumns(conf, ids);
+  }
+
+  /**
+   * @deprecated for backwards compatibility with <= 0.12, use appendReadColumns
+   */
+  @Deprecated
+  public static void appendReadColumnID(Configuration conf, List<Integer> ids) {
+    appendReadColumns(conf, ids);
+  }
+
+
+
+  /**
    * Sets the <em>READ_ALL_COLUMNS</em> flag and removes any previously
    * set column ids.
    */

Modified: hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/TestColumnProjectionUtils.java
URL: http://svn.apache.org/viewvc/hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/TestColumnProjectionUtils.java?rev=1547814&r1=1547813&r2=1547814&view=diff
==============================================================================
--- hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/TestColumnProjectionUtils.java (original)
+++ hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/TestColumnProjectionUtils.java Wed Dec  4 14:52:14 2013
@@ -83,4 +83,35 @@ public class TestColumnProjectionUtils {
     assertEquals(columnIds, actual);
     assertFalse(ColumnProjectionUtils.isReadAllColumns(conf));
   }
+
+  @Test
+  public void testDeprecatedMethods() {
+    List<Integer> columnIds = new ArrayList<Integer>();
+    List<Integer> actual;
+
+    assertEquals(Collections.EMPTY_LIST, ColumnProjectionUtils.getReadColumnIDs(conf));
+
+    // test that read columns are initially an empty list
+    actual = ColumnProjectionUtils.getReadColumnIDs(conf);
+    assertEquals(Collections.EMPTY_LIST, actual);
+    // setting empty list results in reading none
+    ColumnProjectionUtils.setReadColumnIDs(conf, columnIds);
+    actual = ColumnProjectionUtils.getReadColumnIDs(conf);
+    assertEquals(Collections.EMPTY_LIST, actual);
+    // test set and append methods
+    columnIds.add(1);
+    ColumnProjectionUtils.setReadColumnIDs(conf, Collections.singletonList(1));
+    actual = ColumnProjectionUtils.getReadColumnIDs(conf);
+    Collections.sort(actual);
+    assertEquals(columnIds, actual);
+    columnIds.add(2);
+    ColumnProjectionUtils.appendReadColumnID(conf, Collections.singletonList(2));
+    actual = ColumnProjectionUtils.getReadColumnIDs(conf);
+    Collections.sort(actual);
+    assertEquals(columnIds, actual);
+    // test that setting read column ids set read all columns to false
+    assertFalse(ColumnProjectionUtils.isReadAllColumns(conf));
+    ColumnProjectionUtils.setFullyReadColumns(conf);
+    assertTrue(ColumnProjectionUtils.isReadAllColumns(conf));
+  }
 }