@Test public void testListPartitionsAllNoParts() throws Exception { createTestTable(client, DB_NAME, TABLE_NAME, Lists.newArrayList("yyyy", "mm", "dd")); List<Partition> partitions = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); assertTrue(partitions.isEmpty()); }
public static List<Partition> getAllPartitionsOf(IMetaStoreClient msc, Table table) throws MetastoreException { try { return msc.listPartitions(table.getCatName(), table.getDbName(), table.getTableName(), (short)-1); } catch (Exception e) { throw new MetastoreException(e); } }
@Test(expected = MetaException.class) public void testListPartitionsByValuesNullTblName() throws Exception { createTable3PartCols1Part(client); client.listPartitions(DB_NAME, null, Lists.newArrayList("1999"), (short)-1); }
@Test(expected = MetaException.class) public void testListPartitionsByValuesNoVals() throws Exception { createTable3PartCols1Part(client); client.listPartitions(DB_NAME, TABLE_NAME, Lists.newArrayList(), (short)-1); }
@Test(expected = NoSuchObjectException.class) public void testListPartitionsByValuesNoDb() throws Exception { client.dropDatabase(DB_NAME); client.listPartitions(DB_NAME, TABLE_NAME, Lists.newArrayList("1999"), (short)-1); }
@Test(expected = NoSuchObjectException.class) public void testListPartitionsAllNoTblName() throws Exception { createTable3PartCols1Part(client); client.listPartitions(DB_NAME, "", (short)-1); }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionsNoDbName() throws Exception { createTable4PartColsParts(client); Partition part = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions("", TABLE_NAME, Lists.newArrayList(part)); }
@Test(expected = NullPointerException.class) public void testAlterPartitionsNullPartition() throws Exception { createTable4PartColsParts(client); Partition part = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(part, null)); }
@Test(expected = NoSuchObjectException.class) public void listPartitionsBogusCatalog() throws TException { createTable3PartCols1Part(client); client.listPartitions("bogus", DB_NAME, TABLE_NAME, -1); }
@Test(expected = InvalidOperationException.class) public void testRenamePartitionNoDbName() throws Exception { List<List<String>> oldValues = createTable4PartColsParts(client); List<Partition> oldParts = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); Partition partToRename = oldParts.get(3); partToRename.setValues(Lists.newArrayList("2018", "01", "16")); client.renamePartition("", TABLE_NAME, oldValues.get(3), partToRename); }
@Test(expected = InvalidOperationException.class) public void testRenamePartitionNoTblName() throws Exception { List<List<String>> oldValues = createTable4PartColsParts(client); List<Partition> oldParts = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); Partition partToRename = oldParts.get(3); partToRename.setValues(Lists.newArrayList("2018", "01", "16")); client.renamePartition(DB_NAME, "", oldValues.get(3), partToRename); }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionNoTblName() throws Exception { createTable4PartColsParts(client); List<Partition> partitions = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); client.alter_partition(DB_NAME, "", partitions.get(3)); }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionsWithEnvironmentCtxNoDbName() throws Exception { createTable4PartColsParts(client); Partition part = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions("", TABLE_NAME, Lists.newArrayList(part), new EnvironmentContext()); }
@Test public void testRenamePartitionNullDbName() throws Exception { List<List<String>> oldValues = createTable4PartColsParts(client); List<Partition> oldParts = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); Partition partToRename = oldParts.get(3); partToRename.setValues(Lists.newArrayList("2018", "01", "16")); try { client.renamePartition(null, TABLE_NAME, oldValues.get(3), partToRename); Assert.fail("should throw"); } catch (MetaException | TProtocolException ex) { } }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionWithEnvironmentCtxChangeValues() throws Exception { createTable4PartColsParts(client); List<Partition> partitions = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); Partition partition = partitions.get(3); partition.setValues(Lists.newArrayList("1", "2", "3")); client.alter_partition(DB_NAME, TABLE_NAME, partition, new EnvironmentContext()); }
@Test public void testAlterPartitionsNullPartitionList() throws Exception { try { createTable4PartColsParts(client); Partition part = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions(DB_NAME, TABLE_NAME, null); fail("Should have thrown exception"); } catch (NullPointerException | TTransportException | TProtocolException e) { //TODO: should not throw different exceptions for different HMS deployment types } }
@Test(expected = MetaException.class) public void testAlterPartitionsWithEnvironmentCtxMissingPartitionVals() throws Exception { createTable4PartColsParts(client); Table t = client.getTable(DB_NAME, TABLE_NAME); PartitionBuilder builder = new PartitionBuilder(); Partition part = builder.inTable(t).build(metaStore.getConf()); Partition part1 = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(part, part1), new EnvironmentContext()); }
@Test(expected = MetaException.class) public void testAlterPartitionsIncompletePartitionVals() throws Exception { createTable4PartColsParts(client); Table t = client.getTable(DB_NAME, TABLE_NAME); PartitionBuilder builder = new PartitionBuilder(); Partition part = builder.inTable(t).addValue("2017").build(metaStore.getConf()); Partition part1 = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(part, part1)); }
@Test(expected = MetaException.class) public void testAlterPartitionsWithEnvironmentCtxIncompletePartitionVals() throws Exception { createTable4PartColsParts(client); Table t = client.getTable(DB_NAME, TABLE_NAME); PartitionBuilder builder = new PartitionBuilder(); Partition part = builder.inTable(t).addValue("2017").build(metaStore.getConf()); Partition part1 = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(part, part1), new EnvironmentContext()); }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionsWithEnvironmentCtxUnknownPartition() throws Exception { createTable4PartColsParts(client); Table t = client.getTable(DB_NAME, TABLE_NAME); PartitionBuilder builder = new PartitionBuilder(); Partition part = builder.inTable(t).addValue("1111").addValue("11").addValue("11").build(metaStore.getConf()); Partition part1 = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(part, part1), new EnvironmentContext()); }