static void printDDLMetrics(DDL ddl) {
    LOG.info("DDL metrics for {}", ddl.dbType);
    int colCount = 0;
    int pkCount = 0;
    int fkCount = 0;
    int uqCount = 0;
    for (Table t: ddl.tables.values()) {
      colCount += t.columns.size();
      if (t.primaryKey.isPresent()) {
        pkCount ++;
      }
      fkCount += t.foreignKeys.size();
      uqCount += t.uniqueConstraints.size();
    }
    LOG.info("Found {} tables", ddl.tables.size());
    List<String> tableNames = new ArrayList<>();
    tableNames.addAll(ddl.tableNames());
    Collections.sort(tableNames);
    LOG.info("Table names: {}", Joiner.on(',').join(tableNames));
    LOG.info("Total number of Columns: {}", colCount);
    LOG.info("Total number of PK's: {}", pkCount);
    LOG.info("Total number of FK's: {}", fkCount);
    LOG.info("Total number of UQ's: {}", uqCount);
    LOG.info("Number of Alter table statements: {}", ddl.alterTables.size());

  }
To verify if DDL have certain characteristics:
<ul>
  <li>There are no unnamed constraints</li>
  <li>Alter tables are only used in exceptional cases</li>
  <li>Table and constraint name lenghts doesn't exceed 30 (a restriction imposed by Oracle)</li>
</ul>
ambari-server/src/test/java/org/apache/ambari/server/orm/db/DDLTests.java