protected List<Partition> setupProjectionTestTable() throws Throwable { //String catName = "catName"; String dbName = "compdb"; String tblName = "comptbl"; String typeName = "Person"; //String catName = "catName"; Map<String, String> dummyparams = new HashMap<>(); dummyparams.put("key1", "val1"); dummyparams.put("excludeKey1", "excludeVal1"); dummyparams.put("excludeKey2", "excludeVal2"); cleanUp(dbName, tblName, typeName); List<List<String>> values = new ArrayList<>(); values.add(makeVals("2008-07-01 14:13:12", "14")); values.add(makeVals("2008-07-01 14:13:12", "15")); values.add(makeVals("2008-07-02 14:13:12", "15")); values.add(makeVals("2008-07-03 14:13:12", "151")); List<Partition> createdPartitions = createMultiPartitionTableSchema(dbName, tblName, typeName, values); Table tbl = client.getTable(dbName, tblName); // add some dummy parameters to one of the partitions to confirm the fetching logic is working Partition newPartition = createdPartitions.remove(0); //Map<String, String> sdParams = new HashMap<>(); //dummyparams.put("sdkey1", "sdval1"); newPartition.setParameters(dummyparams); //newPartition.getSd().setParameters(sdParams); client.alter_partition(dbName, tblName, newPartition); createdPartitions.add(0, newPartition); return createdPartitions; }
@Test public void testListPartitions() throws Throwable { // create a table with multiple partitions String dbName = "compdb"; String tblName = "comptbl"; String typeName = "Person"; cleanUp(dbName, tblName, typeName); List<List<String>> values = new ArrayList<>(); values.add(makeVals("2008-07-01 14:13:12", "14")); values.add(makeVals("2008-07-01 14:13:12", "15")); values.add(makeVals("2008-07-02 14:13:12", "15")); values.add(makeVals("2008-07-03 14:13:12", "151")); createMultiPartitionTableSchema(dbName, tblName, typeName, values); List<Partition> partitions = client.listPartitions(dbName, tblName, (short)-1); assertNotNull("should have returned partitions", partitions); assertEquals(" should have returned " + values.size() + " partitions", values.size(), partitions.size()); partitions = client.listPartitions(dbName, tblName, (short)(values.size()/2)); assertNotNull("should have returned partitions", partitions); assertEquals(" should have returned " + values.size() / 2 + " partitions",values.size() / 2, partitions.size()); partitions = client.listPartitions(dbName, tblName, (short) (values.size() * 2)); assertNotNull("should have returned partitions", partitions); assertEquals(" should have returned " + values.size() + " partitions",values.size(), partitions.size()); cleanUp(dbName, tblName, typeName); }
@Test public void testListPartitionNames() throws Throwable { // create a table with multiple partitions String dbName = "compdb"; String tblName = "comptbl"; String typeName = "Person"; cleanUp(dbName, tblName, typeName); List<List<String>> values = new ArrayList<>(); values.add(makeVals("2008-07-01 14:13:12", "14")); values.add(makeVals("2008-07-01 14:13:12", "15")); values.add(makeVals("2008-07-02 14:13:12", "15")); values.add(makeVals("2008-07-03 14:13:12", "151")); createMultiPartitionTableSchema(dbName, tblName, typeName, values); List<String> partitions = client.listPartitionNames(dbName, tblName, (short)-1); assertNotNull("should have returned partitions", partitions); assertEquals(" should have returned " + values.size() + " partitions", values.size(), partitions.size()); partitions = client.listPartitionNames(dbName, tblName, (short)(values.size()/2)); assertNotNull("should have returned partitions", partitions); assertEquals(" should have returned " + values.size() / 2 + " partitions",values.size() / 2, partitions.size()); partitions = client.listPartitionNames(dbName, tblName, (short) (values.size() * 2)); assertNotNull("should have returned partitions", partitions); assertEquals(" should have returned " + values.size() + " partitions",values.size(), partitions.size()); cleanUp(dbName, tblName, typeName); }
@Test public void testDropTable() throws Throwable { // create a table with multiple partitions String dbName = "compdb"; String tblName = "comptbl"; String typeName = "Person"; cleanUp(dbName, tblName, typeName); List<List<String>> values = new ArrayList<>(); values.add(makeVals("2008-07-01 14:13:12", "14")); values.add(makeVals("2008-07-01 14:13:12", "15")); values.add(makeVals("2008-07-02 14:13:12", "15")); values.add(makeVals("2008-07-03 14:13:12", "151")); createMultiPartitionTableSchema(dbName, tblName, typeName, values); client.dropTable(dbName, tblName); client.dropType(typeName); boolean exceptionThrown = false; try { client.getTable(dbName, tblName); } catch(Exception e) { assertEquals("table should not have existed", NoSuchObjectException.class, e.getClass()); exceptionThrown = true; } assertTrue("Table " + tblName + " should have been dropped ", exceptionThrown); }
String typeName = "Person"; cleanUp(dbName, tblName, typeName);
int lastAccessed = 12083; cleanUp(dbName,tblName,typeName);
cleanUp(dbName, null, null);
String typeName = "Person"; cleanUp(dbName, tblName, typeName);
cleanUp(dbName, tblName, null);
cleanUp(dbName, null, null); for (Function f : client.getAllFunctions().getFunctions()) { client.dropFunction(f.getDbName(), f.getFunctionName());