Repository: hive
Updated Branches:
  refs/heads/master 97f0513c4 -> fe3a457d7


http://git-wip-us.apache.org/repos/asf/hive/blob/fe3a457d/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
index 4937d9d..d6f0d8c 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStore.java
@@ -222,6 +222,9 @@ public abstract class TestHiveMetaStore {
         tbl = client.getTable(dbName, tblName);
       }
 
+      Assert.assertTrue(tbl.isSetId());
+      tbl.unsetId();
+
       Partition part = makePartitionObject(dbName, tblName, vals, tbl, 
"/part1");
       Partition part2 = makePartitionObject(dbName, tblName, vals2, tbl, 
"/part2");
       Partition part3 = makePartitionObject(dbName, tblName, vals3, tbl, 
"/part3");
@@ -1272,6 +1275,7 @@ public abstract class TestHiveMetaStore {
 
       Table tbl2 = client.getTable(dbName, tblName);
       assertNotNull(tbl2);
+      Assert.assertTrue(tbl2.isSetId());
       assertEquals(tbl2.getDbName(), dbName);
       assertEquals(tbl2.getTableName(), tblName);
       assertEquals(tbl2.getSd().getCols().size(), typ1.getFields().size());
@@ -1305,6 +1309,7 @@ public abstract class TestHiveMetaStore {
         assertTrue(fieldSchemasFull.contains(fs));
       }
 
+      tbl2.unsetId();
       client.createTable(tbl2);
       if (isThriftClient) {
         tbl2 = client.getTable(tbl2.getDbName(), tbl2.getTableName());
@@ -1664,6 +1669,56 @@ public abstract class TestHiveMetaStore {
   }
 
   @Test
+  public void testCreateAndGetTableWithDriver() throws Exception {
+    String dbName = "createDb";
+    String tblName = "createTbl";
+
+    client.dropTable(dbName, tblName);
+    silentDropDatabase(dbName);
+    new DatabaseBuilder()
+        .setName(dbName)
+        .create(client, conf);
+
+    createTable(dbName, tblName);
+    Table tblRead = client.getTable(dbName, tblName);
+    Assert.assertTrue(tblRead.isSetId());
+    long firstTableId = tblRead.getId();
+
+    createTable(dbName, tblName + "_2");
+    Table tblRead2 = client.getTable(dbName, tblName + "_2");
+    Assert.assertTrue(tblRead2.isSetId());
+    Assert.assertNotEquals(firstTableId, tblRead2.getId());
+  }
+
+  @Test
+  public void testCreateTableSettingId() throws Exception {
+    String dbName = "createDb";
+    String tblName = "createTbl";
+
+    client.dropTable(dbName, tblName);
+    silentDropDatabase(dbName);
+    new DatabaseBuilder()
+        .setName(dbName)
+        .create(client, conf);
+
+    Table table = new TableBuilder()
+        .setDbName(dbName)
+        .setTableName(tblName)
+        .addCol("foo", "string")
+        .addCol("bar", "string")
+        .build(conf);
+    table.setId(1);
+    try {
+      client.createTable(table);
+      Assert.fail("An error should happen when setting the id"
+          + " to create a table");
+    } catch (InvalidObjectException e) {
+      Assert.assertTrue(e.getMessage().contains("Id shouldn't be set"));
+      Assert.assertTrue(e.getMessage().contains(tblName));
+    }
+  }
+
+  @Test
   public void testAlterTable() throws Exception {
     String dbName = "alterdb";
     String invTblName = "alter-tbl";

http://git-wip-us.apache.org/repos/asf/hive/blob/fe3a457d/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStorePartitionSpecs.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStorePartitionSpecs.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStorePartitionSpecs.java
index df83171..ebbd1c7 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStorePartitionSpecs.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStorePartitionSpecs.java
@@ -222,6 +222,8 @@ public class TestHiveMetaStorePartitionSpecs {
       clearAndRecreateDB(hmsc);
       createTable(hmsc, true);
       Table table = hmsc.getTable(dbName, tableName);
+      Assert.assertTrue(table.isSetId());
+      table.unsetId();
       populatePartitions(hmsc, table, Arrays.asList("isLocatedInTablePath", 
"isLocatedOutsideTablePath"));
 
       // Clone the table,

http://git-wip-us.apache.org/repos/asf/hive/blob/fe3a457d/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
----------------------------------------------------------------------
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
index bf302ed..6c8c943 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/client/TestTablesCreateDropAlterTruncate.java
@@ -225,6 +225,8 @@ public class TestTablesCreateDropAlterTruncate extends 
MetaStoreClientTest {
     // Try to create a table with all of the parameters set
     Table table = getTableWithAllParametersSet();
     client.createTable(table);
+    table.unsetId();
+
     Table createdTable = client.getTable(table.getDbName(), 
table.getTableName());
     // The createTime will be set on the server side, so the comparison should 
skip it
     table.setCreateTime(createdTable.getCreateTime());
@@ -238,6 +240,9 @@ public class TestTablesCreateDropAlterTruncate extends 
MetaStoreClientTest {
     table.setParameters(createdTable.getParameters());
     table.setCreationMetadata(createdTable.getCreationMetadata());
     table.setWriteId(createdTable.getWriteId());
+
+    Assert.assertTrue(createdTable.isSetId());
+    createdTable.unsetId();
     Assert.assertEquals("create/get table data", table, createdTable);
 
     // Check that the directory is created
@@ -457,6 +462,7 @@ public class TestTablesCreateDropAlterTruncate extends 
MetaStoreClientTest {
   @Test(expected = AlreadyExistsException.class)
   public void testCreateTableAlreadyExists() throws Exception {
     Table table = testTables[0];
+    table.unsetId();
 
     client.createTable(table);
   }
@@ -524,6 +530,7 @@ public class TestTablesCreateDropAlterTruncate extends 
MetaStoreClientTest {
       // Expected exception
     }
 
+    table.unsetId();
     // Test in mixed case
     client.createTable(table);
     client.dropTable("DeFaUlt", "TeST_tAbLE");
@@ -546,6 +553,7 @@ public class TestTablesCreateDropAlterTruncate extends 
MetaStoreClientTest {
     Assert.assertFalse("Table path should be removed",
         metaStore.isPathExists(new Path(table.getSd().getLocation())));
 
+    table.unsetId();
     client.createTable(table);
     client.dropTable(table.getDbName(), table.getTableName(), false, false);
 
@@ -705,6 +713,9 @@ public class TestTablesCreateDropAlterTruncate extends 
MetaStoreClientTest {
     newTable.setCreateTime(alteredTable.getCreateTime());
     newTable.setCreationMetadata(alteredTable.getCreationMetadata());
     newTable.setWriteId(alteredTable.getWriteId());
+
+    Assert.assertTrue(alteredTable.isSetId());
+    alteredTable.unsetId();
     Assert.assertEquals("The table data should be the same", newTable, 
alteredTable);
   }
 

Reply via email to