Program: 84174
Project: 84174
Buggy source:
private void addMissingTableChanges(List<Change> changes,Database database){
  for (  Table missingTable : getMissingTables()) {
    if (baseDatabase.isLiquibaseTable(missingTable.getName())) {
      continue;
    }
    CreateTableChange change=new CreateTableChange();
    change.setTableName(missingTable.getName());
    for (    Column column : missingTable.getColumns()) {
      ColumnConfig columnConfig=new ColumnConfig();
      columnConfig.setName(column.getName());
      columnConfig.setType(column.getDataTypeString(database));
      if (column.isNullable() != null && !column.isNullable()) {
        ConstraintsConfig constraintsConfig=new ConstraintsConfig();
        constraintsConfig.setNullable(false);
        columnConfig.setConstraints(constraintsConfig);
      }
      Object defaultValue=column.getDefaultValue();
      if (defaultValue == null) {
      }
 else       if (defaultValue instanceof Date) {
        columnConfig.setDefaultValueDate((Date)defaultValue);
      }
 else       if (defaultValue instanceof Boolean) {
        columnConfig.setDefaultValueBoolean(((Boolean)defaultValue));
      }
 else       if (defaultValue instanceof Number) {
        columnConfig.setDefaultValueNumeric(((Number)defaultValue));
      }
 else {
        columnConfig.setDefaultValue(defaultValue.toString());
      }
      change.addColumn(columnConfig);
    }
    changes.add(change);
  }
}

Fixed version (ground truth):
private void addMissingTableChanges(List<Change> changes,Database database){
  for (  Table missingTable : getMissingTables()) {
    if (baseDatabase.isLiquibaseTable(missingTable.getName())) {
      continue;
    }
    CreateTableChange change=new CreateTableChange();
    change.setTableName(missingTable.getName());
    for (    Column column : missingTable.getColumns()) {
      ColumnConfig columnConfig=new ColumnConfig();
      columnConfig.setName(column.getName());
      columnConfig.setType(column.getDataTypeString(database));
      ConstraintsConfig constraintsConfig=null;
      if (column.isPrimaryKey()) {
        if (constraintsConfig == null) {
          constraintsConfig=new ConstraintsConfig();
        }
        constraintsConfig.setPrimaryKey(true);
        PrimaryKey pkToRemove=null;
        for (        PrimaryKey pk : getMissingPrimaryKeys()) {
          if (pk.getTableName().equalsIgnoreCase(missingTable.getName())) {
            pkToRemove=pk;
          }
        }
        if (pkToRemove != null) {
          getMissingPrimaryKeys().remove(pkToRemove);
        }
      }
      if (column.isAutoIncrement()) {
        columnConfig.setAutoIncrement(true);
      }
      if (column.isNullable() != null && !column.isNullable()) {
        if (constraintsConfig == null) {
          constraintsConfig=new ConstraintsConfig();
        }
        constraintsConfig.setNullable(false);
      }
      if (constraintsConfig != null) {
        columnConfig.setConstraints(constraintsConfig);
      }
      Object defaultValue=column.getDefaultValue();
      if (defaultValue == null) {
      }
 else       if (column.isAutoIncrement()) {
      }
 else       if (defaultValue instanceof Date) {
        columnConfig.setDefaultValueDate((Date)defaultValue);
      }
 else       if (defaultValue instanceof Boolean) {
        columnConfig.setDefaultValueBoolean(((Boolean)defaultValue));
      }
 else       if (defaultValue instanceof Number) {
        columnConfig.setDefaultValueNumeric(((Number)defaultValue));
      }
 else {
        columnConfig.setDefaultValue(defaultValue.toString());
      }
      change.addColumn(columnConfig);
    }
    changes.add(change);
  }
}