in src/main/java/com/epam/digital/data/platform/liquibase/extension/change/core/DdmMakeObjectChange.java [63:90]
private boolean columnExists(Database database, String table, String column) {
boolean exists = false;
Statement statement = null;
ResultSet resultSet = null;
if (database.getConnection() instanceof JdbcConnection) {
try {
statement = ((JdbcConnection) database.getConnection()).createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
String sql = "SELECT EXISTS(SELECT 1 "
+ "FROM information_schema.columns "
+ "WHERE table_name='" + table + "' AND column_name='" + column + "') as " + DdmConstants.ATTRIBUTE_COLUMN + ";";
resultSet = statement.executeQuery(sql);
if (resultSet.next()) {
exists = resultSet.getBoolean(DdmConstants.ATTRIBUTE_COLUMN);
}
} catch (SQLException | DatabaseException e) {
Scope.getCurrentScope().getLog(database.getClass()).info("Cannot select version", e);
} finally {
JdbcUtils.close(resultSet, statement);
}
}
return exists;
}