public void alter_partitions(String catName, String dbName, String tblName, List<Partition> partitions, EnvironmentContext environmentContext, String writeIdList, long writeId) throws TException { client.alter_partitions(catName, dbName, tblName, partitions, environmentContext, writeIdList, writeId); }
@Test(expected = NullPointerException.class) public void testAlterPartitionsNullPartitions() 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(null, null)); }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionsBogusCatalogName() throws Exception { createTable4PartColsParts(client); Partition part = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions("nosuch", DB_NAME, TABLE_NAME, Lists.newArrayList(part)); }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionsNoTblName() throws Exception { createTable4PartColsParts(client); Partition part = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions(DB_NAME, "", Lists.newArrayList(part)); }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionsChangeValues() throws Exception { createTable4PartColsParts(client); List<Partition> partitions = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); Partition p = partitions.get(3); p.setValues(Lists.newArrayList("1", "2", "3")); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(p)); }
@Test(expected = MetaException.class) public void testAlterPartitionsChangeTableName() throws Exception { createTable4PartColsParts(client); List<Partition> partitions = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); Partition p = partitions.get(3); p.setTableName(TABLE_NAME+"_changed"); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(p)); }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionsWithEnvironmentCtxNoTblName() throws Exception { createTable4PartColsParts(client); Partition part = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions(DB_NAME, "", Lists.newArrayList(part), new EnvironmentContext()); }
@Test(expected = NullPointerException.class) public void testAlterPartitionsWithEnvironmentCtxNullPartitions() 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(null, null), new EnvironmentContext()); }
@Test public void testAlterPartitionsNullDbName() throws Exception { createTable4PartColsParts(client); Partition part = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); try { client.alter_partitions(null, TABLE_NAME, Lists.newArrayList(part)); Assert.fail("Expected exception"); } catch (MetaException | TProtocolException ex) { } }
@Test(expected = MetaException.class) public void testAlterPartitionsChangeDbName() throws Exception { createTable4PartColsParts(client); List<Partition> partitions = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); Partition p = partitions.get(3); p.setDbName(DB_NAME+"_changed"); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(p)); }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionsWithEnvironmentCtxBogusCatalogName() throws Exception { createTable4PartColsParts(client); Partition part = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); client.alter_partitions("nosuch", DB_NAME, TABLE_NAME, Lists.newArrayList(part), new EnvironmentContext(), null, -1); }
@Test(expected = NullPointerException.class) public void testAlterPartitionsWithEnvironmentCtxNullPartition() 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), new EnvironmentContext()); }
@Test(expected = InvalidOperationException.class) public void testAlterPartitionsWithEnvironmentCtxChangeValues() throws Exception { createTable4PartColsParts(client); List<Partition> partitions = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); Partition p = partitions.get(3); p.setValues(Lists.newArrayList("1", "2", "3")); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(p), 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 testAlterPartitionsWithEnvironmentCtxChangeDbName() throws Exception { createTable4PartColsParts(client); List<Partition> partitions = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); Partition p = partitions.get(3); p.setDbName(DB_NAME+"_changed"); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(p), new EnvironmentContext()); }
@Test public void testAlterPartitionsWithEnvironmentCtxNullDbName() throws Exception { createTable4PartColsParts(client); Partition part = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1).get(0); try { client.alter_partitions(null, TABLE_NAME, Lists.newArrayList(part), new EnvironmentContext()); Assert.fail("Expected exception"); } catch (MetaException | TProtocolException ex) { } }
@Test(expected = MetaException.class) public void testAlterPartitionsWithEnvironmentCtxChangeTableName() throws Exception { createTable4PartColsParts(client); List<Partition> partitions = client.listPartitions(DB_NAME, TABLE_NAME, (short)-1); Partition p = partitions.get(3); p.setTableName(TABLE_NAME+"_changed"); client.alter_partitions(DB_NAME, TABLE_NAME, Lists.newArrayList(p), new EnvironmentContext()); }
@Test public void testAlterPartitionsWithEnvironmentCtxNullPartitionList() 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, new EnvironmentContext()); 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 testAlterPartitionsMissingPartitionVals() 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)); }
@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)); }