public static Boolean isToFullAcid(Table table, Map<String, String> props) {
    if (AcidUtils.isTransactionalTable(table)) {
      String transactionalProp = props.get(hive_metastoreConstants.TABLE_TRANSACTIONAL_PROPERTIES);

      if (DEFAULT_TRANSACTIONAL_PROPERTY.equalsIgnoreCase(transactionalProp)) {
        return canBeMadeAcid(table.getTableName(), table.getSd());
      }
    }
    return false;
  }
The method for altering table props; may set the table to MM, non-MM, or not affect MM.
todo: All such validation logic should be TransactionValidationListener
@param tbl object image before alter table command (or null if not retrieved yet).
@param props prop values set in this alter table command
ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java