HCATALOG-576 HCATALOG-527 Broke backward compatibility
git-svn-id: https://svn.apache.org/repos/asf/incubator/hcatalog/trunk@1425221 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index 5e121c5..34c6a5a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -156,6 +156,8 @@
OPTIMIZATIONS
BUG FIXES
+ HCAT-576 HCATALOG-527 Broke backward compatibility (gates)
+
HCAT-567 HCatClient must allow retrieval of multiple partitions using a partial partition spec.(mithun via avandana)
HCAT-556 HCatalog-trunk doesn't build against Hive-0.10.0 (mithun via avandana)
diff --git a/core/src/main/java/org/apache/hcatalog/mapreduce/InputJobInfo.java b/core/src/main/java/org/apache/hcatalog/mapreduce/InputJobInfo.java
index dcf0918..4bcec34 100644
--- a/core/src/main/java/org/apache/hcatalog/mapreduce/InputJobInfo.java
+++ b/core/src/main/java/org/apache/hcatalog/mapreduce/InputJobInfo.java
@@ -70,6 +70,7 @@
* @param databaseName the db name
* @param tableName the table name
* @param filter the partition filter
+ * @param properties implementation specific job properties
*/
public static InputJobInfo create(String databaseName,
String tableName,
@@ -78,6 +79,21 @@
return new InputJobInfo(databaseName, tableName, filter, properties);
}
+ /**
+ * Initializes a new InputJobInfo
+ * for reading data from a table.
+ * @param databaseName the db name
+ * @param tableName the table name
+ * @param filter the partition filter
+ */
+ @Deprecated
+ public static InputJobInfo create(String databaseName,
+ String tableName,
+ String filter) {
+ return create(databaseName, tableName, filter, null);
+ }
+
+
private InputJobInfo(String databaseName,
String tableName,
String filter,
diff --git a/core/src/test/java/org/apache/hcatalog/mapreduce/TestInputJobInfo.java b/core/src/test/java/org/apache/hcatalog/mapreduce/TestInputJobInfo.java
new file mode 100644
index 0000000..9a9f432
--- /dev/null
+++ b/core/src/test/java/org/apache/hcatalog/mapreduce/TestInputJobInfo.java
@@ -0,0 +1,48 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.hcatalog.mapreduce;
+
+import java.util.Properties;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+
+public class TestInputJobInfo extends HCatBaseTest {
+
+ @Test
+ public void test4ArgCreate() throws Exception {
+ Properties p = new Properties();
+ p.setProperty("key", "value");
+ InputJobInfo jobInfo = InputJobInfo.create("Db", "Table", "Filter", p);
+ Assert.assertEquals("Db", jobInfo.getDatabaseName());
+ Assert.assertEquals("Table", jobInfo.getTableName());
+ Assert.assertEquals("Filter", jobInfo.getFilter());
+ Assert.assertEquals("value", jobInfo.getProperties().getProperty("key"));
+ }
+
+ @Test
+ public void test3ArgCreate() throws Exception {
+ InputJobInfo jobInfo = InputJobInfo.create("Db", "Table", "Filter");
+ Assert.assertEquals("Db", jobInfo.getDatabaseName());
+ Assert.assertEquals("Table", jobInfo.getTableName());
+ Assert.assertEquals("Filter", jobInfo.getFilter());
+ Assert.assertEquals(0, jobInfo.getProperties().size());
+ }
+}