@Override
  public boolean dropPartition(String catName, String dbName, String tblName, List<String> partVals,
      PartitionDropOptions options) throws TException {
    org.apache.hadoop.hive.metastore.api.Table table = getTempTable(dbName, tblName);
    if (table == null) {
      return super.dropPartition(catName, dbName, tblName, partVals, options);
    }
    if (partVals == null || partVals.isEmpty() || partVals.contains(null)) {
      throw new MetaException("Partition values cannot be null, empty or contain null values");
    }
    TempTable tt = getPartitionedTempTable(table);
    if (tt == null) {
      throw new IllegalStateException("TempTable not found for " + getCatalogQualifiedTableName(table));
    }
    Partition droppedPartition = tt.dropPartition(partVals);
    boolean result = droppedPartition != null ? true : false;
    boolean purgeData = options != null ? options.purgeData : true;
    boolean deleteData = options != null ? options.deleteData : true;
    if (deleteData && !tt.isExternal()) {
      result &= deletePartitionLocation(droppedPartition, purgeData);
    }

    return result;
  }
@param partialPvals partition values, can be partial.  This really means that missing values
                   are represented by empty str.
@param maxParts maximum number of partitions to fetch, or -1 for all
ql/src/java/org/apache/hadoop/hive/ql/metadata/SessionHiveMetaStoreClient.java