List<Partition> parts = client.getPartitionsByFilter(storageTableName, "dt='latest'"); assertEquals(parts.size(), 0); assertEquals(client.getAllParts(storageTableName).size(), 1); assertEquals(client.getAllParts(storageTableName).size(), 0);
assertFalse(client.latestPartitionExists(cubeFactWithParts.getName(), c1, factPartColumns.get(0).getName())); String storageTableName = getFactOrDimtableStorageTableName(cubeFactWithParts.getName(), c1); assertEquals(client.getAllParts(storageTableName).size(), 1); List<Partition> parts = client.getPartitionsByFilter(storageTableName, "dt='latest'"); assertEquals(parts.size(), 0); assertFalse(client.factPartitionExists(cubeFactWithParts.getName(), c1, HOURLY, timeParts, partSpec)); assertFalse(client.latestPartitionExists(cubeFactWithParts.getName(), c1, getDatePartitionKey())); assertEquals(client.getAllParts(storageTableName).size(), 0);
assertTrue(client.latestPartitionExists(cubeDim.getName(), c1, getDatePartitionKey())); String storageTableName = getFactOrDimtableStorageTableName(dimName, c1); assertEquals(client.getAllParts(storageTableName).size(), 2); List<Partition> parts = client.getPartitionsByFilter(storageTableName, "dt='latest'"); assertEquals(1, parts.size()); assertFalse(client.dimPartitionExists(cubeDim.getName(), c1, timeParts)); assertFalse(client.latestPartitionExists(cubeDim.getName(), c1, getDatePartitionKey())); assertEquals(client.getAllParts(storageTableName).size(), 0);
assertEquals(parts.size(), 0); assertEquals(client.getAllParts(storageTableName).size(), 1); parts = client.getPartitionsByFilter(storageTableName, testDtPart.getName() + "='latest'"); assertEquals(parts.size(), 0); assertEquals(client.getAllParts(storageTableName).size(), 0); assertFalse(client.factPartitionExists(cubeFact.getName(), c1, HOURLY, timeParts, emptyHashMap)); assertFalse(client.latestPartitionExists(cubeFact.getName(), c1, getDatePartitionKey()));
assertTrue(client.latestPartitionExists(cubeFactWithTwoStorages.getName(), c1, getDatePartitionKey())); String storageTableName = getFactOrDimtableStorageTableName(cubeFactWithTwoStorages.getName(), c1); assertEquals(client.getAllParts(storageTableName).size(), 1); assertTrue(client.latestPartitionExists(cubeFactWithTwoStorages.getName(), c2, getDatePartitionKey())); String storageTableName2 = getFactOrDimtableStorageTableName(cubeFactWithTwoStorages.getName(), c2); assertEquals(client.getAllParts(storageTableName2).size(), 1); assertFalse(client.factPartitionExists(cubeFactWithTwoStorages.getName(), c1, HOURLY, timeParts, partSpec)); assertFalse(client.latestPartitionExists(cubeFactWithTwoStorages.getName(), c1, getDatePartitionKey())); assertEquals(client.getAllParts(storageTableName).size(), 0); assertEquals(client.getAllParts(storageTableName2).size(), 0);
assertFalse(client.latestPartitionExists(cubeFactWithParts.getName(), c1, factPartColumns.get(0).getName())); String storageTableName = getFactOrDimtableStorageTableName(cubeFactWithParts.getName(), c1); assertEquals(client.getAllParts(storageTableName).size(), 1); assertFalse(client.latestPartitionExists(cubeFactWithParts.getName(), c1, testDtPart.getName())); assertFalse(client.latestPartitionExists(cubeFactWithParts.getName(), c1, getDatePartitionKey())); assertEquals(client.getAllParts(storageTableName).size(), 0);
client.alterCubeFactTable(cubeFact.getName(), cubeFact, storageTables, new HashMap<String, String>()); String storageTableName = getFactOrDimtableStorageTableName(factName, c1); assertEquals(client.getAllParts(storageTableName).size(), 1); List<Partition> parts = client.getPartitionsByFilter(storageTableName, "dt='latest'"); assertEquals(parts.size(), 0); partSpec2.setOutputFormat(HiveIgnoreKeyTextOutputFormat.class.getCanonicalName()); client.addPartition(partSpec2, c1, CubeTableType.FACT); assertEquals(client.getAllParts(storageTableName).size(), 1); assertTrue(client.factPartitionExists(cubeFact.getName(), c1, HOURLY, timeParts, emptyHashMap)); assertFalse(client.factPartitionExists(cubeFact.getName(), c1, HOURLY, timeParts2, emptyHashMap)); assertEquals(parts.size(), 0); assertEquals(client.getAllParts(storageTableName).size(), 1); assertTrue(client.factPartitionExists(cubeFact.getName(), c1, HOURLY, timeParts, emptyHashMap)); assertFalse(client.factPartitionExists(cubeFact.getName(), c1, HOURLY, timeParts2, emptyHashMap)); assertEquals(client.getAllParts(storageTableName).size(), 0); assertFalse(client.factPartitionExists(cubeFact.getName(), c1, HOURLY, timeParts, emptyHashMap)); assertFalse(client.factPartitionExists(cubeFact.getName(), c1, HOURLY, timeParts2, emptyHashMap));
assertTrue(client.dimPartitionExists(cubeDim.getName(), c1, timePartsNow)); assertTrue(client.latestPartitionExists(cubeDim.getName(), c1, getDatePartitionKey())); assertEquals(client.getAllParts(storageTableName).size(), 2); client.addPartition(sPartSpec1, c1, CubeTableType.DIM_TABLE); assertEquals(client.getAllParts(storageTableName).size(), 3); client.addPartition(sPartSpec2, c1, CubeTableType.DIM_TABLE); assertEquals(client.getAllParts(storageTableName).size(), 4); assertEquals(latestPart.getInputFormatClass(), SequenceFileInputFormat.class); assertEquals(latestPart.getParameters().get(getLatestPartTimestampKey("dt")), getDateStringWithOffset(HOURLY, 1)); assertEquals(client.getAllParts(storageTableName).size(), 3); assertEquals(latestPart.getInputFormatClass(), SequenceFileInputFormat.class); assertEquals(latestPart.getParameters().get(getLatestPartTimestampKey("dt")), getDateStringWithOffset(HOURLY, 1)); assertEquals(client.getAllParts(storageTableName).size(), 2); assertFalse(client.dimPartitionExists(cubeDim.getName(), c1, timePartsNow)); assertFalse(client.latestPartitionExists(cubeDim.getName(), c1, getDatePartitionKey())); assertEquals(client.getAllParts(storageTableName).size(), 0); assertFalse(client.dimTableLatestPartitionExists(storageTableName));
assertEquals(client.getAllParts(c1TableName).size(), 8); assertEquals(client.getAllParts(c1TableName).size(), 10); assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 1, 1, 1)); Map<String, Date> timeParts6 = getTimePartitionByOffsets(getDatePartitionKey(), -2, itPart.getName(), -1, assertEquals(client.getAllParts(c1TableName).size(), 11); assertEquals(client.getAllParts(c1TableName).size(), 12); assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 1, 1, 1)); assertEquals(client.getAllParts(c1TableName).size(), 11); assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 0, 1, 1)); assertEquals(client.getAllParts(c1TableName).size(), 10); assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 0, 1, 1)); assertEquals(client.getAllParts(c1TableName).size(), 9); assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 0, 1, 0)); assertEquals(client.getAllParts(c1TableName).size(), 8); assertEquals(getLatestValues(c1TableName, HOURLY, partColNames, null), toPartitionArray(HOURLY, 0, 0, 0)); assertEquals(client.getAllParts(c1TableName).size(), 5); client.dropPartition(cubeDim.getName(), c1, timeParts6, null, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 4); client.dropPartition(cubeDim.getName(), c1, timeParts1, null, HOURLY); assertEquals(client.getAllParts(c1TableName).size(), 0); assertNoPartitionNamedLatest(c1TableName, partColNames);
assertEquals(timeline2Temp.getClass(), EndsAndHolesPartitionTimeline.class); assertEquals(client.getAllParts(c1TableNameHourly).size(), 3); assertEquals(client.getAllParts(c2TableNameHourly).size(), 3);
assertEquals(client.getAllParts(c1TableName).size(), 3); assertEquals(client.getAllParts(c2TableName).size(), 3); assertEquals(client.getAllParts(c1TableName).size(), 5); assertEquals(client.getAllParts(c2TableName).size(), 5); assertEquals(client.getAllParts(c1TableName).size(), 6); assertEquals(client.getAllParts(c2TableName).size(), 6); List<Partition> c1Parts = client.getAllParts(c1TableName); List<Partition> c2Parts = client.getAllParts(c2TableName); assertSamePartitions(client.getAllParts(c1TableName), c1Parts); for (Partition partition : c2Parts) { partition.setLocation("blah"); partitionMap.put(HOURLY, c2Parts); client.updatePartitions(factName, c2, partitionMap); assertSamePartitions(client.getAllParts(c2TableName), c2Parts); assertEquals(client.getAllParts(c1TableName).size(), 6); assertTrue(client.latestPartitionExists(cubeFact.getName(), c1, getDatePartitionKey())); assertTrue(client.latestPartitionExists(cubeFact.getName(), c1, itPart.getName())); assertEquals(client.getAllParts(c1TableName).size(), 5); assertTrue(client.latestPartitionExists(cubeFact.getName(), c1, getDatePartitionKey())); assertTrue(client.latestPartitionExists(cubeFact.getName(), c1, itPart.getName())); assertEquals(client.getAllParts(c1TableName).size(), 4);