public boolean dropProperties(String key) {
    boolean success = false;
    Query<MMetastoreDBProperties> query = null;
    try {
      if (openTransaction()) {
        query = pm.newQuery(MMetastoreDBProperties.class, PTYARG_EQ_KEY);
        query.declareParameters(PTYPARAM_STR_KEY);
        @SuppressWarnings("unchecked")
        Collection<MMetastoreDBProperties> properties = (Collection<MMetastoreDBProperties>) query.execute(key);
        if (!properties.isEmpty()) {
          pm.deletePersistentAll(properties);
        }
        success = commitTransaction();
      }
    } catch (Exception e) {
      LOG.warn("Metastore property drop failed", e);
    } finally {
      rollbackAndCleanup(success, query);
    }
    return success;
  }
Called right before an action that would drop a storage descriptor.
This function makes the SD's reference to a CD null, and then deletes the CD
if it no longer is referenced in the table.
@param msd the storage descriptor to drop
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java