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); }